2

我是Ember入门,所以想问一下如何将数组2D添加到Ember.View的内容数组中?前任

var IconMeaning = {
OK:  ['theme/dark/images/providers/ok.png', 'OK', 'Both'],
Cancel: ['theme/dark/images/providers/delete.png', 'Cancel', 'Both'],
Edit: ['theme/dark/images/providers/edit.png', 'Edit', 'AdminOnly'],
Save: ['theme/dark/images/providers/save.png', 'Submit,Save', 'AdminOnly'],
Add: ['theme/dark/images/providers/plus_blue.png', 'Add,Create,Insert', 'Both'],
Remove: ['theme/dark/images/providers/remove.png', 'Remove,Delete', 'Both'],
Next: ['theme/dark/images/providers/next.png', 'Next,Continue', 'Both'],
Previous: ['theme/dark/images/providers/previous.png', 'Back,Previous', 'AdminOnly'],
Up: ['theme/dark/images/goback.png', 'Up a Level', 'Both'],
Info: ['theme/dark/images/providers/info.png', 'More Information', 'Both'],
Public: ['theme/dark/images/public.png', 'Make,Active/Public', 'AdminOnly'],
Private: ['theme/dark/images/private.png', 'Make,Inactive/Private', 'AdminOnly'],
Calendar: ['theme/dark/images/calendar.png', 'Select Date', 'AdminOnly'],
Download: ['theme/dark/images/providers/download.png', 'Download', 'Both'],
Reload: ['theme/dark/images/providers/reload.png', 'Reload,Refresh', 'AdminOnly'],
Print: ['theme/dark/images/providers/print.png', 'Print', 'Both'],
Unlink: ['theme/dark/images/providers/unlink.png', 'Unlink,Unregister', 'AdminOnly'],
AddToCart: ['theme/dark/images/providers/plus_green.png', 'Add to Cart', 'Both'],
Checkout: ['theme/dark/images/providers/checkout.png', 'Checkout', 'Both'],
Help: ['theme/dark/images/providers/help.png', 'Help', 'Both'],
VideoHelp: ['theme/dark/images/providers/helpbutton.png', 'Video Help', 'Both']

}

我想将它们添加到 Ember.View 中的内容数组中。非常感谢。

4

1 回答 1

2

您可以Ember.Object为 IconMeaning-Object 的每个“行”创建一个,其中包含您的键和值数组。然后使用 anEmber.ArrayController并将所有行推入其内容数组pushObject

App.controller = Ember.ArrayController.create({
    content: []
});

for (var propertyName in IconMeaning) {
    var emberObj = Ember.Object.create({
        key: propertyName,
        values: IconMeaning[propertyName]
    });
    App.controller.pushObject(emberObj);
}

使用 Ember 绑定连接到您的视图:

App.view = Ember.View.extend({
    contentBinding: 'App.controller'
});

我在http://jsfiddle.net/HUHnE/创建了一个完整的工作示例

于 2012-05-20T13:57:14.467 回答