我正在使用AngularJS 1.5.0而且我遇到了一些我无法弄清楚的东西,尽管有很多谷歌和调试。
如果我定义一个控制器并注入$interpolate
提供程序,我可以使用以下代码来获得一些动态输出;
var x = $interpolate('Hello {{name}}!');
致电x({});
将输出Hello !
致电x({name: 'FizzBuzz'});
将输出Hello FizzBuzz!
但是,如果我然后尝试将其设置为另一个变量;
var z = $interpolate('Hello {{abc}}!');
它立即给出了这个错误;
Uncaught TypeError: (intermediate value) is not a function
这几乎就像$interpolate
只能设置一次。真的很困惑,请帮忙。
编辑:这似乎是Chrome开发者工具的一个问题。如果我在定义插值调用的行(即var x = $interpolate(...)
)之后断开并尝试执行一个新的调用,如var y = $interpolate(...)
那么那就是一切都掉了下来,我得到了未捕获的类型错误。
答案 0 :(得分:1)
试试这个,这应该有用。
var x = $interpolate('Hello {{abc}}!');
x({abc: 'FizzBuzz'});
参考:https://docs.angularjs.org/api/ng/service/ $ interpolate