升级到1.13后,我得到了这个例外,我无法弄清楚是什么问题.我也找不到任何有用的资源来解决我的问题.
它发生在我在另一个计算属性中设置的属性.但这个属性肯定只被调用一次.
我创建了一个jsbin示例:http://emberjs.jsbin.com/roderameya/edit?html,js,console,output
UPDATE
根据要求,我发布了一些更接近我真实实现的代码.
Ember.Controller.extend({
filter: '',
resultCount: {
total: 0,
matches: 0,
mismatches: 0
},
results: function() {
var items = this.get('model'),
matches = [],
resultCount = {};
// Apply search filter
matches = items.filter(function(item){
// Just a dummy filter function
return true;
});
// We need the total number matched by the filter string
resultCount.total = matches.length;
// The already matched items must be narrowed further down
matches = matches.filter(function(item) {
// Another filter function …
Run Code Online (Sandbox Code Playgroud) 我想要的:一个错误处理,全局处理不同的http错误(401,404,500).无论何时何地发生http错误都无关紧要.
到目前为止,我在应用程序路由中实现了一个错误操作,该操作将在路由model
挂钩上的任何适配器错误上调用.这工作正常.
没有涉及的是我在其他环境中处理记录时的情况record.save()
.在那里,我需要单独处理承诺上的错误.
此外,我不仅希望有一个默认的错误处理程序,而且更像是一个回退.
好吧,在谈论太多之前,让我们举一个用例的示例实现.
申请途径
应用程序错误操作应该是默认/回退错误处理程序.
actions: {
error: function(error) {
var couldHandleError = false;
if (error.errors) {
switch (error.errors[0].status) {
case '401':
// User couldn't get authenticated.
// Redirect handling to login.
couldHandleError = true;
break;
case '404':
case '500':
// Something went unexpectedly wrong.
// Let's show the user a message
couldHandleError = true;
break;
}
}
// return true if none of the status code was matching
return !couldHandleError;
}
}
Run Code Online (Sandbox Code Playgroud)
一些路线 …
ember.js ×2