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