Mam Ember.Controller
, z kodem konfiguracyjnym w funkcji init. W rzeczywistości ten kod sprawia, że AJAX żąda. Ale kiedy tworzę dwa wystąpienia tego kontrolera, zawsze są one równe. Dlaczego i co mogę zrobić ponownie?Kontrolery z ustawieniami w funkcji init są zawsze równe
Zrobiłem ten prosty przykład, który chciałby napisać Test 1
Test 2
do konsoli. Bit dwa razy pisząc Test 2
.
App = Em.Application.create({});
App.TestController = Em.Controller.extend({
content: Em.Object.create({
info: null,
}),
init: function() {
if(this.id == 1)
{
this.content.set('info', "Test 1");
}
if(this.id == 2)
{
this.content.set('info', "Test 2");
}
},
});
var c1 = App.TestController.create({id: 1});
var c2 = App.TestController.create({id: 2});
console.log('C1: ' + c1.get('content').get('info'));
console.log('C2: ' + c2.get('content').get('info'));
Hm, widzę. Ale czy to błąd i zostanie naprawiony, czy to jest pomysł? Jeśli to feauture, jaki jest powód? – Lux
Jest to część modelu obiektu JavaScript/Ember. Zobacz https://github.com/emberjs/ember.js/issues/462. Prawdopodobnie nigdy się nie zmieni ... –
Nie zapomnij również wywołać 'this._super();' wewnątrz swojej niestandardowej funkcji 'init' ... – pangratz