Ember.js 余烬未捕获错误:断言失败:清空处于inBuffer状态的视图

Ember.js 余烬未捕获错误:断言失败:清空处于inBuffer状态的视图,ember.js,ember-data,ember-old-router,Ember.js,Ember Data,Ember Old Router,我在运行以下代码时得到此断言: 不允许且不应在inBuffer状态下清空视图 在正常情况下发生。最有可能的是你的电脑中有一个bug 应用这可能是由于过度的属性更改 通知 链接到演示: 为什么会这样?我想有点晚了。。。但我在这里工作: 没有改变逻辑,但是它的名字在哪里 我修改了你的路由器如下: Router: Ember.Router.extend({ root: Ember.Route.extend({ index: Ember.Route.extend({

我在运行以下代码时得到此断言:

不允许且不应在inBuffer状态下清空视图 在正常情况下发生。最有可能的是你的电脑中有一个bug 应用这可能是由于过度的属性更改 通知

链接到演示:


为什么会这样?

我想有点晚了。。。但我在这里工作:

没有改变逻辑,但是它的名字在哪里

我修改了你的路由器如下:

Router: Ember.Router.extend({
    root: Ember.Route.extend({
      index: Ember.Route.extend({
        route: "/",
        connectOutlets: function(router) {
          var person;
          router.set('router.applicationController.currentPerson', App.Person.find(657));
        }
      })
    })
  })
并创建了一个ApplicationController:

ApplicationController: Em.Controller.extend({
    currentPerson: null,
    currentPersonLoaded: function() {
      this.connectOutlet("things", this.get("currentPerson.things"));
    }.observes("currentPerson.isLoaded"),
  })

我不知道这是否是您希望的输出,但错误消失了

在尝试从fixture加载下拉列表值时,我遇到了相同的错误。解决此问题的方法是覆盖夹具适配器上的QueryFixes:

App.FixtureAdapter = DS.FixtureAdapter.extend
  latency: 200
  queryFixtures: (records, query, type) ->
    records.filter (record) ->
      for key of query
        continue  unless query.hasOwnProperty(key)
        value = query[key]
        return false  if record[key] isnt value
      true

如果我没有先设置延迟的话,我可能就不会知道了。然后,错误更具描述性。

这种情况在新路由器中仍然会发生。无法解决问题:-(
App.FixtureAdapter = DS.FixtureAdapter.extend
  latency: 200
  queryFixtures: (records, query, type) ->
    records.filter (record) ->
      for key of query
        continue  unless query.hasOwnProperty(key)
        value = query[key]
        return false  if record[key] isnt value
      true