Angular Interpolation仅接受1个特定参数

时间:2017-02-17 07:37:41

标签: angularjs

我正在使用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(...)那么那就是一切都掉了下来,我得到了未捕获的类型错误。

1 个答案:

答案 0 :(得分:1)

试试这个,这应该有用。

var x = $interpolate('Hello {{abc}}!');

x({abc: 'FizzBuzz'});

参考:https://docs.angularjs.org/api/ng/service/ $ interpolate