밑줄 템플릿과 Backbone.js를 사용하여 데이터의 JS 개체를 렌더링하려고합니다.밑줄 템플릿을 사용하여 JS 객체를 렌더링하는 방법은 무엇입니까?
아래 그림과 같은 데이터를 생성했습니다.
후, 나는 비슷한 질문을 보았다.
How to display a JS object with underscore templates?
나는 Backbone.js 컬렉션 및 모델을 정확하게 알지 못했지만 최근에는 그 사실을 이해했습니다.
나는 아래 소스 코드와 같은 컬렉션을 삽입하는 데이터를 만들었습니다.
//that's create view
wordCollection.add(wordList);
var view = new views.Livingword({collection:wordList});
//that's view
render: function(templateName) {
var template = _.template(templateName);
this.$el.html(template({result : this.collection.category}));
return this;
}
다음으로 html 소스 코드를 작성했습니다.
<% _.each(result, function(item,key,list){ %>
<tr>
<td><%- category[key].bedroom %></td>
</tr>
<% }) %>
하지만, 오류가 Uncaught ReferenceError: category is not defined
인쇄됩니다 그래서 내가 console.log(this.collection.category);
이 사진 아래에 실행할 때 콘솔 명령의 결과 collection
을 디버깅하려고합니다.
데이터를 만드는 것이 적절하고 잘못된 소스 코드를 찾지 못한다고 생각합니다.
내 데이터를 html로 렌더링하려면 어떻게해야합니까?
당신은 템플릿'this.collection.category'로'result' 전달됩니다
그래서 모든 변경 사항과 코드가 뭔가 템플릿으로
처럼이어야합니다. 그러므로'category [key] ..'대신'result [key] ..'를 사용해야합니다. 템플릿 범위에서'category'는'undefined'가되어야합니다. – RaR
오 세상에 .. 정말 고마워요 –
@RaR 흠 .. 오류는 처리되지만 아무 것도 표시되지 않습니다 ..'%% result [key] .audioSrc %>' 뭐가 문제 야? –