JSON 字符串化 AngularJS 即时转换

JSON stringify with AngularJS on the fly transformation

为什么我不能使用这样的东西?

<input type="text" ng-model="testVal">
<pre>{{JSON.stringify(testVal,null,4)}}</pre>

如果我删除 JSON.stringify() 方法,我的代码就可以正常工作。

双括号语法 {{something}} 告诉 angular 在 $scope 对象中查找匹配项。

因此 {{name}} 与控制器中设置的 $scope.name 匹配。

您可以使用此处的方法(我建议您使用它来保持视图文件的清洁),这将解决您的问题。

所以在控制器中:

$scope.stringify = function(value, replacer, space)
{
    return JSON.stringify(value,replacer,space);
}

...那么在您看来:

<pre>{{stringify(testVal,null,4)}}</pre>

您可以直接在控制器中分配功能:

$scope.stringify = JSON.stringify;

你可以简单地使用 | json :

{{ testVal | json }}

或将 JSON 添加到 $scope :

$scope.JSON = JSON 

然后

<pre>{{ JSON.stringify(testVal) }}</pre>

有效

http://plnkr.co/edit/PPXK36BbTslkK5FjfP4x?p=preview