Javascript 在Angular JS中,我们应该使用什么来分配模型数据?
我想知道使用Angular JS为每个表单元素指定模型名称的更好方法 我可以使用单个范围变量来分配它Javascript 在Angular JS中,我们应该使用什么来分配模型数据?,javascript,angularjs,forms,Javascript,Angularjs,Forms,我想知道使用Angular JS为每个表单元素指定模型名称的更好方法 我可以使用单个范围变量来分配它 <input type="text" ng-model="firstName"/> <input type="text" ng-model="lastName"/> 我还可以使用singleton对象分配它 <input type="text" ng-model="contact.firstName"/> <input type="text" ng
<input type="text" ng-model="firstName"/>
<input type="text" ng-model="lastName"/>
我还可以使用singleton对象分配它
<input type="text" ng-model="contact.firstName"/>
<input type="text" ng-model="contact.lastName"/>
在内存和执行时间方面,哪种处理表单数据的方法更好?您应该选择第二个选项,为了避免范围继承问题,请参阅: 作用域继承通常是直接的,您甚至不需要知道它正在发生。。。直到您尝试将双向数据绑定(即表单元素、ng模型)从子范围内绑定到父范围上定义的基元(例如数字、字符串、布尔值)
据AngularJS的创造者米什科·海弗利(Miško Hevery)说: 当你有ng模型的时候,一定会有一个点。 如果你没有一个圆点,你就做错了 问题是为什么 因为
ng开关
,ng重复
等创建了自己的作用域。
比如说,
输出:
现在,代码与所有三个文本框始终同步
来源:
通常最好使用第二种格式,而不是直接引用范围。它将帮助您最终移动到Angular 2,而不会污染范围。一般的规则是,如果没有一个点,你就做错了。
<form ng-submit='addName()'>
Name 1: <input type='text' ng-model='name'/>
<input type='submit' value="Submit"/>
</form>
<p ng-switch='true'>
Name 2: <input type='text' ng-switch-when="true" ng-model='name'/>
</p>
<p>
Name 3: <input type='text' ng-model='name'/>
</p>
<form ng-submit='addName()'>
Name 1: <input type='text' ng-model='contact.name'/>
<input type='submit' value="Submit"/>
</form>
<p ng-switch='true'>
Name 2: <input type='text' ng-switch-when="true" ng-model='contact.name'/>
</p>
<p>
Name 3: <input type='text' ng-model='contact.name'/>
</p>