ember.js - 尝试使用已在使用的 ID 注册 View

标签 ember.js

自此 commit我们不能用一个 ID 两次注册一个 View 。这似乎合乎逻辑。但是我遇到了一个问题。

路由器

App.Router.map(function() {
    this.resource('contact', { path: '/contacts/:contact_id' });
});

App.ContactShowRoute = Ember.Route.extend({});

查看
App.ContactShowView = Em.View.extend({
   elementId: "page-show-contact"
});

考虑到我已经在路线上 App.ContactShowRoute .我要过渡到()相同的路线,但具有不同的背景。

我希望 emberjs 销毁 View ,然后再次创建它,但出现以下错误:

Uncaught Error: assertion failed: Attempted to register a view with an id already in use: page-show-contact

我不想两次实例化具有相同 ID 的 View 。我只是想让 ember 销毁实际的一个,然后创建一个新的。

最佳答案

这似乎是当前版本中的一个错误。也许你应该开一张票。
在解决此问题之前,这可能会有所帮助:

App.ContactShowRoute = Ember.Route.extend({

   renderTemplate : function(controller, model) {
    if(this.lastRenderedTemplate == this.routeName) 
       return; 
    return this._super();
   }
});

关于ember.js - 尝试使用已在使用的 ID 注册 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15000073/

相关文章:

ember.js - Ember JS::Uncaught TypeError:对象App.Router没有方法 'map'

javascript - Ember创建记录错误

javascript - Ember - 自动重定向到 firstObject

javascript - 恩伯斯 : how to display loading spinner and notification messages on model operations

ember.js - 仅当从 didInsertElement 调用 get ('controller' )时,从 View 观察 Controller 属性才有效

ember.js - 第一次为ember写mocha测试,缺少访问功能

testing - 如何断言 Ember 测试中的运行循环 DOM 更改

javascript - 暗模式功能,在 init() 中更改 img src 不起作用

ember.js - 有没有办法消除观察者的抖动

javascript - 如何在 Ember 的 mdc-layout-grid 的下一行显示嵌套的 JSON 对象?