我正在尝试在 Ember 中创建应用程序的一部分,其中一个视图中将有多个出口,并且每个出口都将连接到一个 collectionView。问题似乎是第二个出口变得“散落”着第一个的变量。
现在我正在做的是更多的参与,但是: 这是简化问题的一个小提琴。
有 3 个车把模板: 应用程序
{{outlet dogs}}
{{outlet cats}}
猫
Cat:{{view.content.name}}
小狗
Dog:{{view.content.name}}
应用程序模板中的插座是连接的:
index:Em.Route.extend({
route:'/',
connectOutlets:function(router, context){
router.get('applicationController').connectOutlet('cats', 'catsCollection');
router.get('applicationController').connectOutlet('dogs', 'dogsCollection');
},
})
然后对于猫和狗,我创建了一个对象来存储内容:
App.Cats = Em.Object.create({
content:[{name:"Russian Blue"}, {name:"British Short Hair"}, {name:"Domestic Tabby"}]
});
集合视图:
App.CatsCollectionView = Em.CollectionView.extend({
content:App.Cats.content,
itemViewClass:'App.CatsView'
});
要呈现的集合视图的视图类:
App.CatsView = Em.View.extend({
templateName:"cats",
init:function(){
}
});
但结果会显示第一个出口的集合的内容在第二个重复:
Dog:Huski
Dog:Samoid
Dog:Elkhound
HuskiSamoidElkhound
Cat:Russian Blue
Cat:British Short Hair
Cat:Domestic Tabby
那么这是如何发生的,如何解决呢?