2013-07-13 36 views
2

有沒有人嘗試單向綁定在ember.js?它不適合我。Ember.js onewayBinding不適用於對象

這是我的代碼片段。

App.UserController = Ember.ObjectController.extend({ 
    user : { "name" : "Albert"} , 
    userCopyBinding: Ember.Binding.oneWay("this.user"); 
}); 

在車把:

<label>user name </label> 
{{view Ember.TextField valueBinding="userCopy.name"}} 

<label>fist name is {{user.name}}</label> 

如果我輸入它改變了「用戶名」也是輸入文本。我在這裏做錯了嗎?

+1

你有一個錯字,它應該是'Ember.Binding.oneWay'。 –

+0

@DarshanSawardekar,謝謝,現在我糾正了我的錯字。我認爲單向綁定不適用於對象。對? – NkS

回答

3

在你的意見,你說:

我覺得單向綁定不工作的對象。對?

是的。正如guides中所述:

綁定會在兩個屬性之間創建一個鏈接,以便當其中一個更改時,另一個會自動更新爲新值。綁定可以連接同一對象上的屬性,或跨兩個不同的對象。

因此,是的oneWay綁定僅適用於屬性而不適用於對象。

你的代碼改成這樣,使其工作:

App.UserController = Ember.Controller.extend({ 
    user: Ember.Object.create({name: "Albert"}), 
    userNameBinding: Ember.Binding.oneWay("this.user.name"); 
}); 

在隨後的模板:

<label>user name </label> 
    {{view Ember.TextField valueBinding="userName"}} 
<label>fist name is {{userName}}</label> 

Demo here

希望它有幫助。

+0

是的,這工作,非常感謝你的幫助..! – NkS