2014-05-13 3 views
1

each 도우미를 사용하여 Ember.js보기에서 정렬되지 않은 목록을 만듭니다. 또한 각 목록 항목을 선택하는 didInsertElement 후크에서 실행되는 Javascript가 있습니다. 그러나 each 도우미를 사용하여 목록을 생성하면 선택기가 요소를 선택하지 못합니다. 선택기에서 결과를 얻는 방법에 대한 의견이 있으십니까?JQuery Selector가 EmberJS보기에서 목록 항목을 선택하지 않습니다.

관련보기 :

<script type="text/x-handlebars" data-template-name="slider"> 
    <ul> 
     {{#each slide in controller}} 
      <li><img src="./resource/locations/1/test.jpg"></li> 
     {{/each}} 
    </ul> 
    <br> 
</script> 

관련 JS :

App.SliderView = Ember.View.extend({ 
    templateName: "slider", 
    didInsertElement: function() { 
     var self = this; 
     var items = $(">ul>li", self.$()); 

     //... 
    } 
}); 

업데이트 :

내가 비동기 내 컨트롤러를 채울 모델을로드하고 있기 때문에 문제가 발생 믿습니다. 모델을 처음 채울 때 발생하는 이벤트를들을 수있는 방법이 있습니까?

내 모델 코드 :

App.Location = DS.Model.extend({ 
    thenSlider: DS.hasMany("slide", {async: true}) 
}); 

App.Slide = DS.Model.extend({ 
    //... 
}); 

답변

1

나에게 좋은 같은데, 당신은 아마 didInsertElement 해고 후 데이터가 채우기하는 문제에 직면하고 있습니다. didInsertElement은 처음에 Slider을 삽입 한 경우에만 실행되며 내부의 요소가 삽입/수정 될 때 발생하는 것은 아닙니다. 이 비동기이기 때문에

http://emberjs.jsbin.com/liluxece/1/edit

, 난 당신이 각 항목에 대한 경우의 상황에 의해 경우에 didInsertElement를 사용할 수있는 방법을 render를 사용하고 다른보기로를 연결 것입니다.

{{render 'template' context}} 

여기에 예를 들어

http://emberjs.jsbin.com/liluxece/5/edit

+0

입니다하지만 렌더링 후 나는 items''에'console.log'를 호출 할 때, 선택기는 귀하의 예제에있는 그'li's를 반환 않습니다. –

+0

제 예제에서'didInsertElement'를 로그인하더라도 특정 예제에 대해 더 많은 정보를 제공해야합니다. – Kingpin2k

+0

오케이, 나는 문제를 더 멀리 생각했다. 위의 나의 업데이트를 보아라. –

관련 문제