我开始使用Ember,所以我想问一下如何将数组2D添加到Ember.View的内容数组中? E.x
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中的内容数组中。非常感谢。
答案 0 :(得分:2)
您可以为IconMeaning-Object的每个“行”创建一个Ember.Object
,其中包含您的键和值数组。然后使用Ember.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'
});
创建了一个完整的工作示例