我正在学习Vue.js中的组件。
模板是:
<script type="text/template" id="child1">
<h3>This is the child1~!</h3>
</script>
<script type="text/template" id="child2">
<h3>This is the child2~!</h3>
</script>
<script id="parent" type="text/template">
<div>
<h2>This is the parent~!</h2>
<child1 v-ref:cc1></child1>
<child2 v-ref:cc2></child2>
<button v-on:click="getChildren">get children msg</button>
</div>
</script>
和JS是:
Vue.component('parent', {
template: '#parent',
methods: {
getChildren:function() {
alert(this.$refs.cc1);
alert(this.$refs.cc2);
}
},
components: {
'child1': {
template: '#child1',
data: function() {
return {
msg: 'This is the child1 ~!'
}
}
},
'child2': {
template: '#child2',
data: function() {
return {
msg: 'This is the child2 ~!'
}
}
}
}
});
Vue抛出
警告:vue.js:525 [Vue警告]:无法解决指令:ref(找到 组件)
谁能告诉我为什么?谢谢!
答案 0 :(得分:2)
您正在使用Vue 2.0和Vue 1.0语法:
请参阅迁移文档:
https://vuejs.org/v2/guide/migration.html#v-el-and-v-ref-replaced
所以,你应该使用:
<child1 ref="cc1"></child1>
<child2 ref="cc2"></child2>
或者将Vue版本更改回1.x
答案 1 :(得分:0)
除非您在组件模板中使用Pug(以前称为Jade),否则您需要使用HTML:
template: '<div id="parent"></div>',