Angular JS编码双引号不起作用

时间:2015-03-03 11:37:06

标签: javascript angularjs angularjs-directive

我正在使用ngInit将变量从PHP传递给我的Angular JS Controller。 在某些情况下,传递的字符串可能包含已编码的'"'' (双引号"

<div data-ng-controller="UserController" data-ng-init='init({"test":"&quot;My Test Input&quot;"})'>
</div>

但是当发生这种情况时,我在Angular JS中收到以下错误: http://errors.angularjs.org/1.3.13/$parse/syntax?p0=My&p1=is%20unexpected%2C%20expecting%20%5B%7D%5D&p2=16&p3=init(%7B%22test%22%3A%22%22My%20Test%20Input%22%22%7D)&p4=My%20Test%20Input%22%22%7D)

请帮忙

2 个答案:

答案 0 :(得分:0)

尝试

<div data-ng-controller="UserController" data-ng-init='init({"test":"\"My Test Input\""})'>

答案 1 :(得分:0)

这是对ng-init的不当使用,您应该在控制器中运行代码

<强> From docs:

  

ngInit的唯一合适用途是用于别名ngRepeat的特殊属性,如下面的演示所示。除了这种情况,您应该使用控制器而不是ngInit来初始化作用域上的值。