Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Ember.js中动态设置元素id_Ember.js_Ember Data - Fatal编程技术网

在Ember.js中动态设置元素id

在Ember.js中动态设置元素id,ember.js,ember-data,Ember.js,Ember Data,我有一个从FIXTURES数据存储加载的项目列表: App.ItemsController = Ember.ArrayController.extend({ content: function() { return App.Item.find(); }.property('content') }); App.Item = DS.Model.extend({ name: DS.attr('string') }); App.Item.FIXTURES =

我有一个从FIXTURES数据存储加载的项目列表:

App.ItemsController = Ember.ArrayController.extend({
    content: function() {
        return App.Item.find();
    }.property('content')
});

App.Item = DS.Model.extend({
    name: DS.attr('string')
});

App.Item.FIXTURES = [
    {id: 1,  name: 'Item 1'},
    {id: 2,  name: 'Item 2'},
    {id: 3,  name: 'Item 3'},
    {id: 4,  name: 'Item 4'},
    {id: 5,  name: 'Item 5'},
    {id: 6,  name: 'Item 6'},
    {id: 7,  name: 'Item 7'},
    {id: 8,  name: 'Item 8'},
    {id: 9,  name: 'Item 9'},
    {id: 10, name: 'Item 10'}
];
我有一个简单的模板

<script type="text/x-handlebars" data-template-name="items">
    <ul>
    {{#each item in content}}
        <li {{bindAttr id="elementId"}} > {{item.name}}</li>
    {{/each}}
    </ul>
</script>
出于各种项目特定的原因,我使用{render'items'}来显示它

我遇到的问题是,我想动态地将每个li的id设置为item id,其中id是模型中的项id。我尝试了我能想到的所有计算属性组合来设置elementId,但我无法让它工作


有办法做到这一点吗?任何帮助都将不胜感激。谢谢。

您可以在模型中设置计算属性,然后在bindAttr帮助程序中使用该属性

车把:

<script type="text/x-handlebars" data-template-name="items">
    <ul>
    {{#each item in content}}
        <li {{bindAttr id="item.elementId"}} > {{item.name}}</li>
    {{/each}}
    </ul>
</script>

您可以在模型中设置计算属性,然后在bindAttr帮助器中使用该属性

车把:

<script type="text/x-handlebars" data-template-name="items">
    <ul>
    {{#each item in content}}
        <li {{bindAttr id="item.elementId"}} > {{item.name}}</li>
    {{/each}}
    </ul>
</script>

你真棒。谢谢,你太棒了。非常感谢。