简体   繁体   中英

How to access array like object/values in ember.js

I need some help to display my data correctly. If i try to access the thumbnail path, the application throws the following error:

Assertion failed: Attributes must be numbers, strings or booleans, not [http://example.com/imgage/example_thumb.jpg]

How do i get rid of this error and show the image(s) correctly?

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>

灰烬具有firstObjectlastObject

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM