我剛開始使用Ember.js框架,並且我有一個簡單的問題。我將我的數據初始化爲普通的JS對象(填充模板,由我的PHP腳本創建),並且我想在Ember.Application啓動之前將它們轉換爲Ember.js對象(或者在啓動之後立即將它們轉換爲Ember.js對象,不知道有什麼不同)。將純JS對象的數組轉換爲Ember.js ArrayController
這樣的事情可能嗎?如果是,那麼最好的方法是什麼?
例子:
App.User = Em.Object.extend({
id: null,
avatar: "/path/to/default/avatar.jpg",
name: null,
});
my_data = [
{"id":1, "name":"John Doe"},
{"id":2, "name":"Barrack Obama", "avatar":"/president/photo.jpg"}
];
App.usersController = Em.ArrayController.create({
content: [],
addUser: function(user) { ... },
});
我需要的是這樣的:
App.usersController.initialize(my_data);
編輯:有一兩件事。我的數據與Ember對象的格式不完全相同,因此我需要進行一些轉換。只是舉例,假設我有頭像和名字包裹在另一個對象,這樣的:
{
"id":2,
"info": {
"name":"Barrack Obama",
"avatar":"/president/photo.jpg"
}
}
看看https://github.com/emberjs/data – 2012-07-14 22:42:28
將App.usersController.pushObjects(my_data)轉換爲Ember.Object後出現什麼問題? – Rajat 2012-07-15 04:45:03
這就是我的觀點。我怎樣才能輕鬆地轉換它們,沒有任何不必要的代碼? – 2012-07-15 09:10:02