1. <script>
    2. export default {
    3. name: 'name',
    4. // 双向绑定对外,通过this.$emit(event,data)可传参,即v-model双向绑定
    5. model: {
    6. prop: 'show',
    7. event: 'change'
    8. },
    9. props: {
    10. show: {
    11. type: Boolean,
    12. required: true
    13. },
    14. type: {
    15. type: String,
    16. required: true,
    17. validator: function (value) {
    18. return ['type1', 'type12'].indexOf(value) !== -1
    19. }
    20. },
    21. id: {
    22. type: [Number, String],
    23. required: true
    24. },
    25. propE: {
    26. type: Object,
    27. // 对象或数组默认值必须从一个工厂函数获取
    28. default: function () {
    29. return null
    30. }
    31. },
    32. },
    33. data() {
    34. return {
    35. loading: false,
    36. title: '星级',
    37. }
    38. },
    39. watch: {
    40. show: {
    41. handler(val) {
    42. if (val) {
    43. this.initData()
    44. }
    45. },
    46. deep: true,
    47. immediate: true
    48. }
    49. },
    50. created() {
    51. },
    52. mounted() {
    53. },
    54. methods: {
    55. // 对外绑定事件this.$emit('success',data),父页面可通过@success接收数据
    56. initData() {
    57. // console.log('initData')
    58. },
    59. }
    60. }
    61. <script>