2016-07-05 1 views
0

라우트 /numbers은 자바 스크립트가 있습니다렌더링 배열 {{각}}

<!-- app/templates/numbers.hbs --> 
{{#each numbers as |n|}} 
    <p>{{n}}</p> 
{{/each}} 

내가 /numbers 경로, 아무것도 볼 수 없습니다 :

// app/routes/numbers.js 
// ... 
numbers: [1,2,3,4,5], 
// ... 

및 경로의 템플릿에

{{each}} 헬퍼 안에 렌더링됩니다. 왜 안돼?

+0

템플릿에서 액세스하려는 모든 변수는 컨트롤러에 정의해야합니다. –

답변

1

서식 파일에서 경로에 설정 한 속성에 액세스 할 수 없습니다. 템플릿의 숫자 배열에 액세스하려면 setupController을 사용하여 컨트롤러에서 설정해야합니다.

model: function(params, transition) { 
    return this.get('numbers'); 
}, 

setupController: function(controller, model) { 
    controller.set('model', model); 
} 
:

템플릿에 데이터를 전달하는 "엠버 방법"

이 작업을 수행 한 후, 경로의 model 후크에서 데이터를 얻을 경로에서

setupController에서 컨트롤러를 설정하는 것입니다

다음 템플릿, 대신 숫자 배열을 접근, 자세한 내용은 model

{{#each model as |n|}} 
    <p>{{n}}</p> 
{{/each}} 

을 사용하여이 읽기 : 0,123,302를

+1

setupController는 필요하지 않습니다. 그러나 컨트롤러에 다른 속성을 설정해야하는 경우. 당신이 그것을 사용합니다. 'controller.set ("number", model);' – heat