我想动态地将属性id添加到标记但是它给出了错误
"未捕获的ReferenceError:无法处理绑定" attr:function(){return {id:id}}" 消息:id未定义"
我的HTML -
<label data-bind="text:label"></label>
<span class="name" data-bind="attr:{id:id},html:value"></span>
<span class="cancelled" data-bind="html:cancel"></span>
<span class="currency-block" data-bind="html:amount"></span>
我的观点模型 -
this.listrows = [
{layout:'basic', params:{icon:'icon-phone', items:[
{item:'content', type:'basic', params:{id:'test', label:'From Account',value:'asuhdas'}}
]}},
{layout:'basic', params:{icon:'icon-money', items:[
{item:'content', type:'basic', params:{label: 'To Account:', value:''}}
]}}
]
我添加了attr:{id:id}仍然给出错误。任何人都可以帮助我。
答案 0 :(得分:1)
如果没有看到更多HTML(因此假设您的HTML包含在foreach
数据中的listrows.item
),id
属性就包含在params
中对象,因此为了引用它,您需要指定params.id
:
<span class="name" data-bind="attr: {id: params.id }, html: params.value"></span>
修改:根据评论:
上面的是我的完整HTML。我只是想在第一个跨度中添加id ...
在这种情况下,您需要访问viewmodel的值本身。由于您的视图模型没有自己的id
属性,因此您无法仅调用id
。相反,您需要使用以下方式访问它:
attr: { id: listrows[0].items[0].params.id }
这假设您只想访问0th
和listrows
数组的items
索引。