如何在ember.js中访问类似对象/值的数组

时间:2013-09-24 14:58:00

标签: javascript ember.js

我需要一些帮助来正确显示我的数据。如果我尝试访问缩略图路径,应用程序将引发以下错误:

  

断言失败:属性必须是数字,字符串或布尔值,而不是   [http://example.com/imgage/example_thumb.jpg]

如何摆脱此错误并正确显示图像?

DEBUG: -------------------------------
DEBUG: Ember.VERSION : 1.0.0
DEBUG: Handlebars.VERSION : 1.0.0
DEBUG: jQuery.VERSION : 2.0.3
DEBUG: ------------------------------- 

// models/collection_model.js
App.Collection = DS.Model.extend({
    title: DS.attr('string'),
    assets: DS.attr('object')
});


// datastore.js
App.Collection.FIXTURES = [
    {
        "id": 1,
        "title": "Lorem ipsum",
        "assets": {
            "thumb": ['http://example.com/imgage/example_thumb.jpg'],
            "thumb_large": ['http://example.com/imgage/example.jpg']
        }
    },
    {
        "id": 2,
        "title": "Losabim",
        "assets": {
            "thumb": ['http://example.com/imgage/example_thumb.jpg'],
            "thumb_large": ['http://example.com/imgage/example.jpg']
        }
    }
];

// templates/collection.handlebar
<script type="text/x-handlebars" data-template-name="collections">
    <h2>Collections</h2>
    <ul>
        {{#each collection in controller}}
            <li>
                {{collection.title}}
                <img {{bind-attr src=collection.assets.thumb }}/>
            </li>
        {{/each}}
    </ul>
</script>

1 个答案:

答案 0 :(得分:1)

Ember有firstObjectlastObject

<img {{bind-attr src=collection.assets.thumb.firstObject }}/>