Сбой утверждения при рендеринге нескольких представлений EmberJS

javascript view ember.js

1862 просмотра

1 ответ

Я использую viewпомощник несколько раз, чтобы визуализировать один и тот же шаблон, но каждый раз с разными параметрами, в основном булевы значения, действующие как флаги опций.

Тем не менее, я получаю следующую ошибку всякий раз, когда я рендерил более одного из них 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

У кого-нибудь есть идеи, почему это происходит? Если так, может ли это быть проблемой? Пока что все остальное работает как надо, поэтому я склонен это игнорировать.

Спасибо!

Автор: waltfy Источник Размещён: 13.11.2019 11:33

Ответы (1)


26 плюса

Решение

Вы переопределяете метод init () Ember.View и не вызываете this._super (). Это приводит к тому, что представление не инициализируется должным образом, в результате чего в элементах представления отсутствуют атрибуты id (например, id = "ember224").

Ниже приведена ссылка на ваш оригинальный JSBin с добавлением MyCustomView.init (), вызывающего this._super (). Вы найдете элементы представления теперь имеют атрибуты id.

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

Автор: ryanricard Размещён: 13.09.2013 06:56
Вопросы из категории :
32x32