如何在角度控制器或范围上使用angular.toJson

lik*_*ski 25 javascript angularjs

请参阅我的以下jsFiddle示例,其中我尝试使用angular.toJson将Angular.js对象推送到JSon表示中.我得到的只是"$ SCOPE"的结果.

http://jsfiddle.net/K2GsS/12/

我想要做的是获取当前的属性和值.在这个例子中,我希望看到的是

{ firstName: 'Frank', lastName: 'Williams' }
Run Code Online (Sandbox Code Playgroud)

是否有更好的方法以JSon形式获取该数据(即不使用范围)?显然我可以手动滚动一个获取值的方法并推出一个JSon表示,但是当控制器改变时,该函数也会改变,所以我宁愿只调用一个toJson类型的方法.有人知道这样做的正确方法吗?提前致谢.

pko*_*rce 69

我可以看到你来自jQuery世界,但是使用angular.js事情变得越来越简单,请查看这个jsFiddle:http://jsfiddle.net/pkozlowski_opensource/ASspB/1/

使用angular.js,您可以更加简单地附加事件:

 <input type="button" ng-click="showJson()" value="Object To JSON" />
Run Code Online (Sandbox Code Playgroud)

然后在你的控制器中:

 $scope.showJson = function() {
    $scope.json = angular.toJson($scope.user);
}
Run Code Online (Sandbox Code Playgroud)

事实上,使用angular.js过滤器可以更轻松地完成这项工作,查看这个jsFiddle:http://jsfiddle.net/pkozlowski_opensource/ASspB/2/,它具有:

{{user | json}}
Run Code Online (Sandbox Code Playgroud)

使用angular.js你需要"忘掉"一些jQuery的习惯,但这很好,因为大多数时候事情变得更容易.

  • 只是一张纸条.使用`<pre> {{user | json}} </ pre>`来格式化它 (13认同)