2013-07-13 3 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

관련 문제