使用计算值进行角度转换时,IE11中的参数无效

时间:2015-10-28 17:16:18

标签: angularjs internet-explorer angular-translate

使用角度翻译时的建议是prefer the directive over the filter。现在在某些地方我需要动态构建翻译键,例如

<span translate>{{'Prefix' + vm.foo}}</span>

这适用于Chrome和Firefox,但会产生一个无效的参数&#34;在IE的角度源深处的某个地方。这是一个这样的错误的堆栈跟踪:

Error: Invalid argument.
   at interpolateFnWatchAction (http://localhost:53559/bower_components/angular/angular.js:8020:17)
   at interpolateFnWatcher (http://localhost:53559/bower_components/angular/angular.js:10177:17)
   at watchGroupAction (http://localhost:53559/bower_components/angular/angular.js:13915:13)
   at Scope.prototype.$digest (http://localhost:53559/bower_components/angular/angular.js:14243:23)
   at Scope.prototype.$apply (http://localhost:53559/bower_components/angular/angular.js:14506:13)
   at done (http://localhost:53559/bower_components/angular/angular.js:9659:36)
   at completeRequest (http://localhost:53559/bower_components/angular/angular.js:9849:7)
   at requestLoaded (http://localhost:53559/bower_components/angular/angular.js:9790:9) undefined

有趣的是,误差来自角度本身,而不是角度平移。

当然,解决方法是使用

<span>{{'Prefix' + vm.foo | translate}}</span>

但我的问题是:这是一个错误,还是预期的行为?如果是这样,为什么它是特定于浏览器的?

修改

我们使用angular v1.3.14和angular-translate v2.6.1。

1 个答案:

答案 0 :(得分:0)

@Yosh在评论中指出,此问题是一个已知错误,请参阅https://github.com/angular-translate/angular-translate/issues/925

解决方法是使用translate过滤器而不是指令。