2012-12-08 4 views
2

남자들은 나를 도와 줄 수 있습니다. 여기 는해시와 바인딩되는 emberjs

Page = Ember.Application.create(); 
Page.PageController = Ember.ObjectController.create({ 
    content: { 
     tasks: [ 
      { 
      title: 'Heading', 
      editing: false}, 
     { 
      title: 'Heading', 
      editing: false} 
     ] 
    } 
}); 

Page.PageView = Ember.View.extend({ 
    edit: function() { 
     var content = this.getPath('content'); 
     content.set("editing", true); 
    } 
});​ 

문제는 내가 일반의 부울 결합 할 수 있다는 것입니다, 여기에 Ember binding with only an hash

템플릿, 내가 가진 것을

<script type="text/x-handlebars"> 
{{#each Page.PageController.content.tasks}} 
{{#view Page.PageView contentBinding="this"}} 

{{#unless editing}} 
<div> 
    <h2>{{title}}</h2> {{view Ember.Checkbox checkedBinding="editing"}} 
</div> 
{{/unless}} 

{{#if editing}} 
<div> 
    <h2>{{view Ember.TextField valueBinding="title"}}</h2> 
    {{view Ember.Checkbox checkedBinding="editing"}} 
</div> 
{{/if}} 

{{/view}} 
{{/each}}  
</script>​ 

입니다 그리고 여기 JS입니다 보기 Ember.Checkbox와 함께 오래된 해시하지만 링크 동작으로 어떻게 할 수 있습니까? 바인딩은 당신이

Page.PageController = Ember.ObjectController.create({ 
content: Ember.Object.create({ 
    tasks: [ 
     Ember.Object.create({ 
     title: 'Heading', 
     editing: false 
     }), 
     Ember.Object.create({ 
     title: 'Heading', 
     editing: false 
     }) 
    ] 
    }) 
}); 

이 도움이되는지 알려주세요 다음과 같이 코드를 변경해야 위의 예에서와 같이 제대로 작동하려면

+0

난 당신이/당신을 위해 무엇을 작동하지 않습니다 달성하기 위해 노력하고있다 설명해 주시겠습니까, 미안 해요? –

답변

2

당신은

... 일반 해시 대신 Ember Objects를 사용할 필요가

업데이트
Fiddle

+0

답장을 보내 주셔서 감사합니다. 나는 우리가 엠버 객체로 할 수 있다는 것을 안다. 각진 상태에서는 일반 해시를 사용할 수 있습니다. 우리가 엠버에서 그렇게 할 수 있다면 좋겠다. 한 가지 다른 점은 확인란이 바인딩이 작동하는 것을 볼 수 있으므로 링크를 사용하는 방법이있을 수 있다고 생각합니다. – Jitu

+0

링크로 무엇을 의미했는지 설명해주십시오. –

+0

또 다른 [피들] (http://jsfiddle.net/ashraf_zmn/DZynj/11/)이 있습니다. 클릭하면 수정 링크 및 인라인 편집을하고 싶습니다. – Jitu