2 votes

Ajouter le tableau 2D dans le tableau de contenu de Ember.View

Je débute avec Ember, et je voudrais savoir comment ajouter un tableau 2D dans le tableau de contenu de 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']

}

Je veux les ajouter au tableau de contenu dans Ember.View. Merci beaucoup.

2voto

Thomas Herrmann Points 187

Vous pouvez créer un Ember.Object pour chaque "rangée" de votre IconMeaning-Object, contenant votre clé et votre tableau de valeurs. Utilisez ensuite un Ember.ArrayController et pousser toutes les rangées dans son tableau de contenu avec 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);
}

Utilisez les liaisons Ember pour vous connecter à votre vue :

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

J'ai créé un exemple complet et fonctionnel à http://jsfiddle.net/HUHnE/

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X