出错,tr没有包裹在tbody里面,html5中规定我们table里面放tbody,tbody里面放tr,但是我们将tr改成了row,所以解析会出现问题
<body> <div id="app"> <table> <tbody> <row></row> <row></row> <row></row> </tbody> </table> </div> </body> <script> Vue.component('row',{ template:'<tr><td>this is derrick</td></tr>' }) var vm = new Vue({ el:"#app", }) </script>tbody里面只能写tr,我们就写tr,但实际上我们是要用row代替,利用is属性即可
<body> <div id="app"> <table> <tbody> <tr is="row"></tr> <tr is="row"></tr> <tr is="row"></tr> </tbody> </table> </div> </body> <script> Vue.component('row',{ template:'<tr><td>this is derrick</td></tr>' }) var vm = new Vue({ el:"#app", }) </script>
报错,The “data” option should be a function that returns a per-instance value in component definitions,说明组件里面的data不能像vue实例一样直接写,要使用方法function的形式返回
<script> Vue.component('row',{ data:{ content:'this is derrick' }, template:'<tr><td>{{content}}</td></tr>' }) var vm = new Vue({ el:"#app", }) </script>
ref为DOM起一个引用的名字,$ refs代表整个vue中所有的引用,$refs.后面跟的就是你需要操作的引用,这样便可以操作DOM
<body> <div id="app"> <div ref='hello' @click="handleClick">hello derrick</div> </div> </body> <script> var vm = new Vue({ el:"#app", methods:{ handleClick:function(){ //指向div alert(this.$refs.hello.innerText) } } }) </script>