我有这个表格。此表单包含许多输入,如名字,姓氏,职位,笔记,州,部门,文档,主管......等等
最初我有一个像这样的控制器
app.controller("titleCtrl", function ($scope)
{
$scope.FirstName = ...
$scope.LastName = ...
$scope.Notes = ....
$scope.JobTitle = ...
$scope.Department = ...
$scope.Supervisor = ...
$scope.Documents = ...
$scope.ID = function(data){
}
//and 15 more fields......
});
我已经知道在这样的范围内声明变量并不是最好的做法。我的问题是什么是最佳做法?什么是在控制器中声明20个左右变量的最佳/最佳方式?
答案 0 :(得分:3)
首先,$scope
不是你的模特。它只是模型的占位符。假设您想要显示用户信息,那么您应该有这样的
$scope.user = {
firstName: 'Joe',
lastName: 'Masan',
jobTitle: 'Engineer',
age: 22,
};
这是在范围内使用模型(此处为user
。)的最佳做法。您不应该直接在$scope
对象中指定字段。在性能方面,AngularJS的工作范围远低于范围内的200个属性。由于AngularJS具有摘要周期,因此当您拥有大量字段时,它将始终达到性能。
关于AngularJS创作者https://www.youtube.com/watch?v=ZhfUv0spHCY
的最佳做法的精彩视频答案 1 :(得分:0)
答案 2 :(得分:0)
取决于你的最佳意思。
Angular Forms动态提供变量。将ng-model添加到输入元素时。 这样:
<input name="first_name" ng-model="first_name">
first_name
可在您需要时使用。
但这取决于你想用它做什么。
如果您不需要更改每个变量,可以跳过一起声明变量,只需使用javascript native Form Data object