【发布时间】:2019-02-26 07:59:41
【问题描述】:
我有一个名为“testrow”的 vue 组件。在其中,我有一个包含 2 个选项的表单,第一个是“描述”,第二个是“参数”。我的脚本应该以“参数”根据我的数据库中相应的“描述”而变化的方式运行。这是通过我的网络路由调用的控制器中的一个函数完成的。我在我的函数中使用名为“填充”的方法中的 ajax,如下所示:
methods: {
populate: ()=>{
$.ajax({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
url:'/parametersByDescription',
type: 'POST',
data: {description: description},
success: function(data){
store.parameter = data;
}
})
return;
}
}
我无法将“description”值作为名为“description”的键发送到我的函数,因为它在下面的代码部分中未定义:
data: {description: description},
我找不到想要使用的“描述”值的正确名称。但是,通常会使用 {description: vm.description},因为这是一个 vue 组件,模板中的所有数据、方法和 :name 都在名为“testrow”的组件中隔离,我不知道它的“名称”是什么"是。
在 Vue Devtools 中,我有 Root 和 Testrow,在 Testrow/data 中,我有我想要的“描述”值所在的“描述”。
【问题讨论】:
-
您是否尝试过使用:data: {description: this.description}
-
感谢您的反馈!我只是通过使用 data: {description: this.something} 来实现的,其中一些东西是预定义的。我已经更改了控制器中的函数以反映“某物”的值。这是我从 Vue Devtools 收到的错误消息:Uncaught TypeError: Cannot read property 'something' of undefined at VueComponent.populate (create:743) at invoker (app.js:38145) at HTMLSelectElement.fn._withTask.fn._withTask (app.js:37944)