为什么ng-bind和{{}}为json提供不同的输出?

Ank*_*aha 7 javascript interpolation angularjs

这是我正在使用的代码,不明白为什么ng-bind和和的输出有差异{{}}.

angular.module('Test', []);
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<div ng-app="Test">
  <input type="text" ng-model="foo.bar" />
  <input type="text" ng-model="foo.baz" />
  <p ng-bind="foo"></p>
  <p>{{ foo }}</p>
</div>
Run Code Online (Sandbox Code Playgroud)

这是我得到的输出

//for ng-bind
[object Object]      

//for {{}}
{"foo":"ankur","bar":"23"}
Run Code Online (Sandbox Code Playgroud)

Fra*_*sco 7

原因是在{{}}将表达式绑定到视图之前正在评估表达式,而ng-bind不是这样做,因此您正在使用数组对象的字符串表示.