代码之家  ›  专栏  ›  技术社区  ›  waltfy

呈现多个EmberJS视图时断言失败

  •  3
  • waltfy  · 技术社区  · 13 年前

    我正在使用 view helper多次,以便每次呈现相同的模板,但使用不同的参数,大多数布尔值充当选项标志。

    然而,每当我渲染多个相同的 看法 :

    Assertion failed: Attempted to register a view with an id already in use: null

    我的元素标签没有“成员id”,例如。 id="ember224" .

    我在一个JSBin中复制了这个问题:

    请注意,在JSBin中,您将无法看到控制台中记录的错误,因为 无论出于什么原因。简单的复制粘贴到 http://www.embersandbox.com/ 你可以打开控制台,看到 错误本身。

    http://jsbin.com/UHOh/1/edit?html,js,output

    有人知道为什么会发生这种事吗?如果是这样,这会是个问题吗?目前,其他一切都在正常工作,所以我倾向于忽略它。

    谢谢

    1 回复  |  直到 13 年前
        1
  •  26
  •   ryanricard    12 年前

    您正在重写Ember.View的init()方法,而不是调用它_super()。这会导致视图无法正确初始化,导致视图元素缺少id属性(例如id=“ember224”)。

    下面是一个指向原始JSBin的链接,添加了MyCustomView.int()来调用它_super()。您会发现视图元素现在具有id属性。

    http://jsbin.com/UHOh/11/edit?html,js,output