Ich habe eine Anwendung, die eine Navigationsleiste hat, die ich in "Application" Kontext gesetzt habe. Standardmäßig sind diese Navigationsleisten-Links deaktiviert und nur für eine bestimmte Aktion aus der Vorlage aktiviert.Controller-Eigenschaft von einem anderen Controller ändern
Die Application Controller, die den deaktivierten Status der Verbindung in Navigationsleiste enthält: -
App.ApplicationController = Ember.Controller.extend({
userName:"TestUser",
firstLinkDisabled:true,
actions:{
handleToggle:function(){
console.log("Handling application action with linkstatus="+this.firstLinkDisabled);
//this.set("firstLinkDisabled",false);
this.toggleProperty("firstLinkDisabled");
}
}
})
Der Index-Controller, die die Aktion Application Controller sendet: -
App.IndexController = Ember.Controller.extend({
actions:{
toggleApplicationButton:function(){
this.controllerFor("Application").send("handleToggle");
}
}
})
Anwendungsvorlage:
<script type="text/x-handlebars">{{#link-to 'first' disabled=firstLinkDisabled}}First link in application{{/link-to}}
{{outlet}} </script>
<button {{action 'handleToggle'}}>Toggle Application Menu </button>
Index Template
<script type="text/x-handlebars" id="index"> <button {{action 'toggleApplicationButton'}}>Toggle Application Menu </button> </script>
Wenn ich auf "Toggle Anwendungsmenü" Taste I die folgende Ausgabe in der Konsole erhalten.
Aber in Inspektor Ember die Eigenschaft "firstLinkDisabled" ändert sich nicht. Bild von Ember Inspector: - Ember Inspector Image
Die Verbindung bleibt deaktiviert.
Was mache ich hier falsch?
Darf ember nicht die Eigenschaft eines anderen Controllers ändern?
Wie man dieses Ding arbeiten lässt?
Auch nach Ember verwenden. inject.controller() Das Problem ist das gleiche. Ich kann sehen, wie sich die Variable in der Konsole ändert. Aber im ** Ember Inspector bleibt die Variable gleich ** und die Verbindung ist immer noch deaktiviert. Ist das ein Fehler in Ember? –