如何在函数中调用函数?
模板 : (网页(
<a v-on:click="hello.world"></a>
JS :(作为组件(
methods: {
hello: function() {
return {
world: function() {
alert('hello world');
}
};
}
}
我收到警告:
[Vue 警告]:事件"点击"的处理程序无效:未定义
这可以通过JS调用this.hello().world()
,但不能像v-on
那样在模板(html(中调用
我错过了什么?
它应该以不同的方式使用以使其工作
<a v-on:click="hello().world()">foo</a>
http://jsbin.com/lizerazire/edit?html,js,output
我不认为这是一个vue问题。
this.hello().world()
无效,因为world()
现在无法访问。尝试在 和 hello
函数中添加双括号()
:
methods: {
hello: function() {
return {
world: function() {
alert('hello world');
}
}();
}
}
您现在可以像这样访问内部函数:this.hello.world()
;
只需将 world 定义为方法内部、全局或 vue 组件中的函数,并以常规方式调用它。
<a @click="hello">foo</a>
function world() {
alert("hello world");
}
<vue component> {
methods: {
hello: function() {
world();
}
}
}
或者这个
<vue component> {
methods: {
hello: function() {
this.world();
},
world: function() {
alert("Hello world");
}
}
}