在控制器中,我们有时可以通过其DOM id的值访问输入值,而不是设置ng-model指令,然后将DOM值绑定到$ scope。
例如,在
中<input type="text" ng-model="foo" id=foo>
我们可以在控制器中使用$scope.foo
或foo.value
。在这种情况下使用$ scope有什么好处?
答案 0 :(得分:0)
我认为使用ng-model
而不是通过id获取输入值的主要好处是双向绑定。来自ng-model
的变量始终是最新的,您可以直接在html或任何地方使用它。
<input type="text" ng-model="foo" id="fooInput" />
<p>ng-model value: <span ng-bind="foo"></span></p>
如果您在按ID输入值时选择逼近,则会丢失此功能,但您会获得更好的性能。因为无论何时键入,它都会触发$digest
循环,导致Angular更新应用程序中的所有观察者和绑定,以查看是否有任何更改。
plunker上的一个小演示。