Javascript 如何重新配置视图以不使用Ember JS中的defaultContainer
我有一个视图需要动态创建并插入到Ember应用程序中(off master-v1.0.0-rc.3-178-ge031b24),最近该视图开始生成通知: 弃用:不再支持使用defaultContainer。 [默认容器#查找] 我已经做了一些尝试来修改我正在做的事情,以纠正我的实现,但是我还没有找到我需要做的事情 目前,我正在将一个新的ViewContainer附加到“路线设置”上的控制器:Javascript 如何重新配置视图以不使用Ember JS中的defaultContainer,javascript,ember.js,Javascript,Ember.js,我有一个视图需要动态创建并插入到Ember应用程序中(off master-v1.0.0-rc.3-178-ge031b24),最近该视图开始生成通知: 弃用:不再支持使用defaultContainer。 [默认容器#查找] 我已经做了一些尝试来修改我正在做的事情,以纠正我的实现,但是我还没有找到我需要做的事情 目前,我正在将一个新的ViewContainer附加到“路线设置”上的控制器: App.ThingRoute = Em.Route.extend setupDetailContai
App.ThingRoute = Em.Route.extend
setupDetailContainers: (controller) ->
controller.set('imageContainer', Em.ContainerView.create())
controller.get('imageContainer').appendTo(App.rootElement)
然后在控制器中,当他们单击图像缩略图时,将插入完整大小的图像:
showFullImage: (image) ->
image_full = image.asset_url.replace(':size', 'original')
container = @get('imageContainer')
container.pushObject App.ShowImageView.create({image: image_full})
如果您能提供正确方法的指导,以便删除弃用警告,我们将不胜感激。我也遇到了同样的问题,但在弃用消息之前,因此Ember抛出了一个错误 看这里
底线是,您需要在要创建子视图的视图中使用
createChildView
,以便创建正确的父子层次结构。在更新到v1.0.0-rc.3-292-g39e9ef7后,我开始遇到这个问题。对我来说,问题源于使用create()
而不是extend()
定义childView
。例如,我做了:
App.FooView = Ember.View.extend({
templateName: 'fooTemplate'
, childViews: ['barView']
, barView: Ember.View.create({
... bindings and stuff ....
})
.... more and more ....
});
。。。当我改变线路时,我收到的通知消失了:
, barView: Ember.View.create({
。。。致:
, barView: Ember.View.extend({
希望这能帮助其他可能在类似情况下遇到此通知的人。您使用的是什么ember版本?噢,对不起,v1.0.0-rc.3-178-ge031b24(基本上是今天的大师),我没有意识到我没有包括它。“底线是,你需要在你将要创建子视图的视图中使用createChildView,以便正确的父视图”-我真的不明白这一点。我的容器是:App.LayoutContainer。我尝试了:App.LayoutContainer.createChildView(App[index]);其中索引类似于:“App.HeaderView”,一个视图实例。但这还不够,因为动态视图是创建的,但没有作为子视图添加到容器中。