我有一个用例,我需要使用特定的模板和控制器向容器视图添加自定义视图。不幸的是,只有在我的模板中没有“linkTo”帮助器时,这才有效。一旦我添加这个,我就不能再设置自定义控制器了。
<script type="text/x-handlebars" data-template-name="page1link">
<!-- remove this line and it will work -->{{#linkTo "page1"}}Go to Page 1{{/linkTo}}
<p>Link template</p>
</script>
App.IndexView = Ember.ContainerView.extend({
didInsertElement: function(){
var LinkView = Ember.View.extend({
templateName: "page1link",
controller: Ember.Controller.create()
});
for(var i = 0; i < 4; i++){
this.pushObject(LinkView.create());
}
}
});
我总是得到以下异常:
未捕获的TypeError:无法调用null
的方法'lookup'以下部分的余烬代码:Ember.LinkView
...
router: Ember.computed(function() {
return this.get('controller').container.lookup('router:main');
Uncaught TypeError: Cannot call method 'lookup' of null
}),
...
不知何故,在这种情况下没有设置容器。
我创造了一个显示这个问题的小提琴。用ember实现这个有更好的方法吗?
感谢任何提示!
答案 0 :(得分:0)
查看余烬指南,特别是over here。他们有一个控制器,显示每个项目包含在自己的控制器中的项目列表。虽然看起来你正试图逐页进行(不知道为什么),但我认为原则是相同的。
如果我错过了标记,请告诉我,我会更多地考虑一下。
使用ember查看列表中的infinte滚动this stack overflow post。