<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <script src="js/vue.js"></script> </head> <body> <div id="app"> <!-- 引用DOM元素 --> <input type="text" value='获取元素' @click="getElement" ref="mybtn"> <h3 id="myh3" ref="myh3"> 哈哈哈!!!!</h3> <!-- 引用组件 --> <login ref="mylogin"></login> </div> <script> var login = { template: '<h1>登陆组件</h1>', data() { return { msg: 'son msg' } }, methods: { show() { console.log('调用了子组件的方法'); } } } //创建Vue实例,得到 ViewModel var vm = new Vue({ el: '#app', data: {}, methods: { getElement() { //vue不建议操作DOM // console.log(document.getElementById('myh3').innerText); //哈哈哈!!!! //ref -->reference 引用 console.log(this.$refs.myh3.innerText); //哈哈哈!!!! console.log(this.$refs.mylogin.msg); //'son msg'
this.$refs.mylogin.show(); //调用了子组件的方法 } }, components: { login } }); </script> </body> </html>