1
在我的應用我有以下rawNodes
屬性,我使用的應用程序範圍內緩存:如何手動更新ArrayController
var App = Ember.Application.createWithMixins({
...
/**
The rawNodes property is a nodes deposit to be used
to populate combo boxes etc.
**/
rawNodes: null,
getNodes: function() {
if (!this.rawNodes) {
this.rawNodes = this.Node.find();
}
},
...
});
在我的一些控制器我修改數據,也應該是在這個通用緩存中更新。我想實現幾個函數,更新給定的節點,並刪除給定的節點。就像:
updateNode: function(node_id, node) {
this.rawNodes.update(node_id, node);
},
deleteNode: function(node_id) {
this.rawNodes.delete(node_id);
}
但我真的不知道如何使用ArrayController,即使這些操作都是可能的。我在ArrayController documentation中沒有看到這種程序的例子。有人可以提供一個例子,或者指出我的方向是正確的嗎?
這是有道理的,但仍然:我如何實現'updateNode'和'deleteNode'? – dangonfast
這是一個很好的觀點。我想這兩種方法應該放在一個'NodeController'(答案更新)的單個資源上進行操作。就實際更新和刪除而言,這取決於模型。例如,如果你使用'ember-data',那麼你想修改這個屬性,然後調用'node.store.commit()'或'node.deleteRecord()'。如果你的模型是一個普通的'Ember.Object',那麼你必須使用'$ .ajax'自己實現這些方法,或者你需要爲你的應用程序使用任何你想要的。 – veidt