【发布时间】:2017-06-15 19:33:06
【问题描述】:
我有一个发出 AJAX 请求的组件。在回调函数中,我想将一个值传递回父实例或根实例。
所以我在组件中的回调函数例如是:
function callbackFunc(vm, response){
vm.$emit('setValue', response.id);
}
在我的根实例中,我尝试过使用这样的 setValue 方法:
export default {
name: 'app',
data () {
return {
value : ''
}
},
methods: {
setValue: function(value){
console.log(value);
}
}
}
这不起作用。文档似乎说您需要在模板中添加一个事件才能将其全部连接起来,但在这种情况下这是行不通的。
有什么想法吗?
干杯!
【问题讨论】:
-
你能显示更多的代码吗?你的回调是如何被调用的等等。
-
从字面上看,它只是全局范围内的一个函数。 vm 是对 vue 实例的引用,因此可以调用 $emit。
-
如果它在全局范围内,为什么不直接使用
const app = new Vue(...)和在callbackFunc中使用app.setValue(response.id)。 -
用完整的根实例更新了我的问题。我将如何让它与它一起工作?干杯!
标签: vue.js vuejs2 vue-component