ember-0.9.8.1.js로 몇 가지 테스트를했으며 다음 코드가 예상대로 작동합니다. 그 후 나는 라우터에 대해 읽었고 라우터 코드는 현재 ember-latest.js (16.06.2012)에서만 사용 가능하다는 것을 알았습니다. 아래 코드를이 버전으로 테스트합니다.현재 ember-latest에서 CollectionView 오류가 발생 했습니까?
<div id="ember143" class="ember-view">
<ul id="PersonList" class="ember-view ListBox">
<li id="ember179" class="ember-view">
<script id="metamorph-0-start" type="text/x-placeholder"></script>
<script id="metamorph-0-end" type="text/x-placeholder"></script>
</li>
<li id="ember183" class="ember-view">
<script id="metamorph-1-start" type="text/x-placeholder"></script>
<script id="metamorph-1-end" type="text/x-placeholder"></script>
</li>
<li id="ember187" class="ember-view">
<script id="metamorph-2-start" type="text/x-placeholder"></script>
<script id="metamorph-2-end" type="text/x-placeholder"></script>
</li>
<li id="ember191" class="ember-view">
<script id="metamorph-3-start" type="text/x-placeholder"></script>
<script id="metamorph-3-end" type="text/x-placeholder"></script>
</li>
</ul>
</div>
하지만 비어 : 문제는리스트가 렌더링입니다.
템플릿 뭔가 : Ember.Handlebars.compile ("{{content.name}}"),
이 제대로 작동하지 않거나 일부 구문 측면이 변경되었습니다.
코드 라인
을 console.log ("내용", 썩 ('내용')); 올바른 콘텐츠가 있음을 클릭 처리기 쇼에서
,하지만Ember.Handlebars.compile ("{{content.name}}"),
콘텐츠를 렌더링하지 않습니다.버그입니까?
자바 스크립트 코드 :
var App = Em.Application.create({
ready: function(){
App.personListController.getData();
}
});
// Model Objects
App.Person = Ember.Object.extend({
name: null,
myTickets: null,
selected: false
});
// Liste von Personen anlegen
App.personListController = Ember.ArrayController.create({
getData: function(){
$.get('json/person.json', function(data) {
var personList = Ember.A([]);
data.forEach(function(item) {
var p = App.Person.create({
'name': item.name,
'myTickets': null,
'selected': false
});
personList.pushObject(p);
});
App.personListController.set('content', personList);
})
},
resetSelection: function(){
App.personListController.content.forEach(function(item){
item.set('selected',false);
})
},
selectedPerson: null
});
App.PersonList = Ember.CollectionView.extend({
tagName: 'ul',
contentBinding: 'App.personListController.content',
classNames: ['ListBox'],
mouseenter: function(event){
console.log("PersonList.content:",this.get('content'));
},
itemViewClass: Ember.View.extend({
template: Ember.Handlebars.compile("{{content.name}}"),
classNameBindings: ['selected:selected'],
selectedBinding: 'content.selected',
click:
function(event){
App.personListController.resetSelection() ;
this.setPath('content.selected',true);
App.personListController.set('selectedPerson',this.get('content'));
console.log("ItemViewInfo selected:",this.getPath('content.selected'));
console.log("content:",this.get('content'));
//this.set('isSelected',true);
}
})
});
HTML :
view
에 대한 조회 컨텍스트 최신 커밋에 변경하기 때문입니다
<script type="text/x-handlebars">
{{#view App.PersonList id="PersonList"}}
{{/view}}
</script>