2014-09-06 5 views
0

CanJs에 막 새로 배우기 시작 했으므로 아래 문제로 디버깅 할 수 없었습니다.canjs 모델이 콧수염 템플릿을 채우지 못합니다

나는 아래와 같은 모델을 가지고 :

Localized = can.Model({ 
     findOne : 'GET /resources/localized' 
    }, { 
}); 

GET/자원/지역화는 ---> 사용할 지역화 된 언어를 가져옵니다.

그리고

can.Component({ 
    tag : 'preferences', 
    template : initView, 
    init: function() { 
     console.log(locales); 
    }, 
    scope : { 
     locales: new LocalizedModel.findOne({}) 
    } 
}); 

다음과 같은 구성 요소를 정의 initView은 다음과 콧수염 템플릿이 있습니다

<div class="form-group"> 
    <label>{{dateLayout}}</label> 
     <select class="form-control" id="lang" name="lang" can-change="save"> 
      {{#list locales.languageOptions}} 
       <option value="{{name}}">{{name}}</option> 
      {{/list}} 
     </select> 
</div> 

을 그러나 문제는 내가/대한 네트워크 호출을 볼 수 있었다, 로케일이 채워지고 있지 않습니다이다 resources/localized, 여기에있는 모든 포인터가 실제로 이것을 이해하는 데 도움이 될 수 있습니다.

+0

init() 함수의 경우 기록되는 참조는'''locales''뿐만 아니라''this.scope.locales'''이어야합니다. –

답변

0

특히 CanJS 문서에서 EJS와 Mustache를 모두 읽고있는 경우 정확한 이름을 사용하도록주의하십시오. 목록을 반복하는 도우미는 {{#each listref}}...{{/each}} 수 있습니다. 수염과 수 있습니다. 스텁, 수있는 곳 .EJS는 <% list(listref, function(item) { %>...<% }) %>입니다. {{#list ...}}을 사용하면 아무 것도 생산하지 않을 것입니다.