渲染多个 EmberJS 视图时断言失败
Posted
技术标签:
【中文标题】渲染多个 EmberJS 视图时断言失败【英文标题】:Assertion Fails while Rendering Multiple EmberJS Views 【发布时间】:2013-08-22 11:02:53 【问题描述】:我多次使用view
帮助器,以便每次渲染相同的模板但使用不同的参数,主要是布尔值作为选项标志。
但是,每当我渲染超过 1 个相同的 view
时,我都会收到以下错误:
Assertion failed: Attempted to register a view with an id already in use: null
我的元素标签没有“ember id”,例如id="ember224"
.
我在 JSBin 中复制了这个问题:
请注意,在 JSBin 中,您将无法看到控制台中记录的错误,因为 不管什么原因。一个简单的复制粘贴到 http://www.embersandbox.com/ 可以打开控制台查看 错误本身。
http://jsbin.com/UHOh/1/edit?html,js,output
有人知道为什么会这样吗?如果是这样,会不会有问题?目前其他一切都在正常工作,所以我倾向于忽略它。
谢谢!
【问题讨论】:
【参考方案1】:您正在重写 Ember.View 的 init() 方法,而不是调用 this._super()。这会导致视图无法正确初始化,从而导致您的视图元素缺少 id 属性(例如 id="ember224")。
下面是原始 JSBin 的链接,其中添加了调用 this._super() 的 MyCustomView.init()。您会发现视图元素现在具有 id 属性。
http://jsbin.com/UHOh/11/edit?html,js,output
【讨论】:
以上是关于渲染多个 EmberJS 视图时断言失败的主要内容,如果未能解决你的问题,请参考以下文章
如何在 EmberJS / Ember Data 中使用单个路由的多个模型?