【发布时间】:2016-02-06 04:47:30
【问题描述】:
为什么我不能使用这样的东西?
<input type="text" ng-model="testVal">
<pre>{{JSON.stringify(testVal,null,4)}}</pre>
如果我删除 JSON.stringify() 方法,我的代码就可以正常工作。
【问题讨论】:
为什么我不能使用这样的东西?
<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>
【讨论】:
您可以简单地使用| json:
{{ testVal | json }}
或将JSON 添加到$scope:
$scope.JSON = JSON
然后
<pre>{{ JSON.stringify(testVal) }}</pre>
作品
【讨论】:
您可以在控制器中分配功能:
$scope.stringify = JSON.stringify;
【讨论】: