我试图在Vue.js中的子组件上调用父/根级别方法,但我不断收到一条消息TypeError: this.addStatusClass is not a function
。
Vue.component('spmodal', {
props: ['addStatusClass'],
created: function() {
this.getEnvironments();
},
methods: {
getEnvironments: function() {
this.addStatusClass('test');
}
}
});
new Vue({
el: '#app',
methods: {
addStatusClass(data) {
console.log(data);
}
}
});
这是一个完整的JSBIN示例:http://jsbin.com/tomorozonu/edit?js,console,output
如果我致电this.$parent.addStatusClass('test');
它工作正常,但根据Vue.js文档,这是不好的做法,我应该使用不起作用的道具。
答案 0 :(得分:6)
指定道具本身没有任何作用,你必须从父母那里传递一些东西 - 在这种情况下是函数。
<spmodal :add-status-class="addStatusClass"></spmodal>