0

我想动态添加属性 id 到标签,但它给出了错误

“Uncaught ReferenceError: Unable to process binding “attr: function (){return {id:id} }”消息:id is not defined”

我的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} 仍然是它的错误。任何人都可以帮助我。

4

1 回答 1

1

在没有看到更多 HTML 的情况下(因此假设您的 HTML 包含在以数组为foreach目标的 a 中),该属性包含在您的对象中,因此为了引用它,您需要指定:listrows.itemidparamsparams.id

<span class="name" data-bind="attr: {id: params.id }, html: params.value"></span>

编辑:根据评论:

以上是我的完整html。我只想将 id 添加到第一个跨度...

在这种情况下,您需要访问视图模型本身的值。您不能调用,id因为您的视图模型没有自己的id属性。相反,您需要使用以下方式访问它:

attr: { id: listrows[0].items[0].params.id }

这假设您只想访问和数组的0th索引。listrowsitems

于 2014-09-19T10:15:25.113 回答