2012-08-01 3 views
1

조치 도우미를 사용하지 않고보기를 정의 할 때 조치를 직접 설정할 수있는 방법이 있습니까? 내보기는 이미 링크이므로 템플릿을 사용할 수 없습니다. 클릭 이벤트를 사용해야하지만 내보기는 라우터를 알고 있어야합니다.Ember.View에서 직접 조치 설정

예 :

App.Link = Em.View.extend({ 
    classNames: ['btn'], 
    tagName: 'a', 
    template: Em.Handlebars.compile("My Link"), 
    click: function(event) { 
     //I don't want to have to call this here 
     App.router.doSomething(); 
    }, 
    //What Id like to do 
    action: "doSomething" 
}) 

이 어디서나 사용할 수 있습니까? 나는 어떤 정보도 찾을 수 없었다.

+0

길을 벗어나려고 할 때 일반적으로 더 많은 문제가 발생합니다 ...이 경우에도 적용됩니다. Ember는 작동하도록 설계된대로 사용해야합니다. 규칙을 위반하면 설계가 망가질 수 있습니다. –

답변

1

실제로 바인딩을 통해이 작업을 수행 할 수 있습니다. (최소한 내 관점에서는) 꽤 수용 가능합니다. 많은 다른 뷰/객체 사이의 내부 연결성을 다룰 때 꽤 많이 사용하게됩니다. 실제로 Ember를 사용하는 주된 이유 중 하나입니다 (부트 스트랩을 많이 처리합니다).

clickBinding: 'doSomething' 

fiddler 그렇게 행동 간단한 버전이 (마음이 당신이 상대 또는 절대 경로 일 수 있습니다)를 보여 제작. 그들은 또한 당신이 세부 사항을 찾고있는 경우 docs에서 이것을 처리합니다.

관련 문제