1. <body>
    2. <script src='https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js'></script>
    3. <div id='myApp'>
    4. <my-com ref="myCom"></my-com>
    5. </div>
    6. <!-- 组件模板 -->
    7. <template id='myTem'>
    8. <div>
    9. <h1>{{name}}</h1>
    10. </div>
    11. </template>
    12. <script>
    13. Vue.component('myCom', {
    14. template: '#myTem',
    15. data(){
    16. return{
    17. name: "childCom"
    18. }
    19. },
    20. methods:{
    21. childChange(data){
    22. this.name = data
    23. }
    24. },
    25. mounted() {
    26. console.log(this)
    27. },
    28. })
    29. new Vue({
    30. el: '#myApp',
    31. mounted() {
    32. // 通过ref可以查找组件标签,找到的是组件的实例对象(组件内部的this)
    33. console.log(this.$refs.myCom)
    34. // 找到组件实例对象后, 可以读取组件data数据并更新
    35. console.log(this.$refs.myCom.name)
    36. this.$refs.myCom.name = "张三"
    37. // 还可以调用子组件中的自定义函数
    38. this.$refs.myCom.childChange("李四")
    39. },
    40. })
    41. </script>
    42. </body>