我有以下带有vue.js绑定的HTML代码。该代码显示表中的项目列表。
<table id="test-vue">
<tr v-for="(item, index) in items">
<td>
<input type="text" v-model="item.foreignId" />
</td>
<td>
<div v-if="canApproveItem(item, foreignValues)">
// UI allowing to approve the item
</div>
</td>
</tr>
</table>
Vue应用程序定义为:
new Vue({
el: "#test-vue",
data: function() {
return {
items: [
{
foreignId: '4943',
}
],
foreignValues: [
{ id: '2424', canApprove: false },
{ id: '4943', canApprove: true }
],
computed: {
canApproveItem: function(item, foreignValues) {
let foreign = foreignValues(obj => {
return obj.id === item.foreignId;
});
if (foreign) {
return foreign;
} else {
return false;
}
}
}
})
目标是仅显示链接到其canApprove
属性设置为true
的“外国”商品的批准UI。用户可以编辑foreignId
,并且用户界面应反映出foreignId
值的用户更改。
如果执行上述操作,则item
函数的canApproveItem
参数是Vue
对象,而foreignValues
是未定义的。控制台中也出现Error in render: "TypeError: canApproveItem is not a function"
错误。
如何正确执行?
答案 0 :(得分:1)
这听起来像是一种方法。您不应该传入FragmentStatePagerAdapter
,因为您可以从方法本身访问它。
foreignValues
和
<table id="test-vue">
<tr v-for="(item, index) in items">
<td>
<input type="text" v-model="item.foreignId" />
</td>
<td>
<div v-if="canApproveItem(item)">
// UI allowing to approve the item
</div>
</td>
</tr>
</table>