这可以配置吗?
来自here,表达是宽容的,但我想知道我的错误是什么。
原谅:在JavaScript中,尝试评估未定义的属性会生成ReferenceError或TypeError。在Angular中,表达式求值是对undefined和null的宽容。
答案 0 :(得分:1)
实际上有,
在Angular中,$ interpolate服务负责处理绑定表达式,因为此服务是宽容的,您不会看到任何错误。但是,您可以为它创建包装器,以便在可能产生错误结果时通知。
以下代码来自http://odetocode.com/ See this blog post
app.config(function($provide){
$provide.decorator("$interpolate", function($delegate){
var interpolateWrap = function(){
var interpolationFn = $delegate.apply(this, arguments);
if(interpolationFn) {
return interpolationFnWrap(interpolationFn, arguments);
}
};
var interpolationFnWrap = function(interpolationFn, interpolationArgs){
return function(){
var result = interpolationFn.apply(this, arguments);
var log = result ? console.log : console.warn;
log.call(console, "interpolation of " + interpolationArgs[0].trim(),
":", result.trim());
return result;
};
};
angular.extend(interpolateWrap, $delegate);
return interpolateWrap;
});
});