2014-12-29 2 views
1

하나의 구성 요소에서 선택된 값을 변경하면 다른 구성 요소의 값에 영향을 미치도록 구성 요소에 계산을 전달할 수 있습니다.can.compute를 can.Component에 전달하는 방법은 무엇입니까?

예 내가 그것을 설정하기 위해 노력하고있어

http://jsbin.com/feleko/1/edit?html,js,console,output

그래서 두 번째의 옵션을 사용할 수있는 첫 번째 선택 변경에 값을 선택. 나는 DOM 변경 이벤트를 청취하는 것이 간단해야한다고 생각하지만 업데이트 할 수있는 계산을 얻지 못하거나 부모 범위에 액세스 할 수 없어 속성 이름을 사용하여 업데이트 할 수 있습니다. 마찬가지로 최대 값은 업데이트를받는 활성 객체가 아닙니다.

답변

1

나는 눈에 거슬리는 방법을 발견했습니다. can.mustache는 요소의 데이터에 현재 컨텍스트를 넣는 도우미 data을 제공합니다.

<select {{data 'context'}} value="a"> 

그런 다음 init 이벤트에서 요소 데이터를 캡처하여 범위에 할당 할 수 있으므로 범위 기능에 사용할 수 있습니다.

events: { 
    init: function(el, opt) { 
    opt.scope.context = el.data('context') 
    } 
} 

어색한 경우 값을 검색하는 것이 가능합니다.

this.context[this.attr('value')] 
관련 문제