0

Ich habe ein Modell, das dieses Feld hatEmber.js - Regler nicht Kommissionierung Modelldaten

diaryItemLabel: DS.attr('string'), 

ich die Daten aus diesem Bereich in meinem Controller zugreifen möchten.

Controller.js 

enter image description here

Ich möchte die ersetzen 'Hinzufügen' mit dem, was Daten ich von diaryItemLabel.

Ich kann nicht verwenden this.get ('model.diaryItemLabel'). Es gibt mir this.get() ist keine Funktion. Ich versuchte mit Ember.get ('Modell', 'DiaryItemLabel'). Es gibt mir eine leere Saite.

Edit 1: Setze Standard auf 'Add' wenn model.diaryItemLabel Variable ist leer.

Könnte jemand mich in die richtige Richtung führen?

Dank

Antwort

1

-Controller wird model Eigenschaft erhalten erst nach setupController Haken, der nach model Hook aufgerufen wird.

berechnete Eigenschaft erstellen, die auf model.diaryItemLabel in Controller abhängig, die Ihr gewünschtes Objekt

confirm:Ember.computed('model.diaryItemLabel',function(){ 
let temp = {}; 
temp.accept= { text: Ember.isEmpty(this.get('model.diaryItemLabel')) ? 'Add' : this.get('model.diaryItemLabel'), buttonClass: 'btn btn-primary'}; 
temp.reject = { text: 'cancel', buttonClass: 'btn btn-default'}; 
return temp; 
} 
+0

Dank – user2798227

+0

zurück @kumkanillam Auch können Sie mir sagen, wie stelle ich den temp.accept Text standardmäßig auf ‚Hinzufügen‘. Wenn also model.diaryItemLabel leer ist, dann setze es auf 'Add' – user2798227

+1

Aktualisierte Antwort mit isEmpty check. http://emberjs.com/api/classes/Ember.html#method_isEmpty – kumkanillam