定义范围变量的最佳实践
Best practice for defining scope variables
我有这个表格。这个表格包含很多输入,比如名字、姓氏、职称、备注、州、部门、文档、主管。。。等等
最初我有一个像这样的控制器
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个左右变量的最佳/最佳方式是什么?
首先,$scope
不是您的模型。它只是模型的占位符。假设你想显示用户信息,那么你应该有这样的
$scope.user = {
firstName: 'Joe',
lastName: 'Masan',
jobTitle: 'Engineer',
age: 22,
};
这是在作用域中具有模型(此处为user
.)的最佳实践。您不应该直接在$scope
对象中分配字段。就性能而言,AngularJS的工作范围远低于200个属性。由于AngularJS有一个摘要周期,当你有大量字段时,它总是会影响性能。
AngularJS创建者关于最佳实践的精彩视频https://www.youtube.com/watch?v=ZhfUv0spHCY
- 如果是变量,则在函数的开头声明它们块
- 如果属性,则创建一个命名空间并将其添加到其中,这样可以在其他地方全局访问,同时命名空间将保存它,避免直接添加到窗口对象中
取决于您所说的最优。
Angular Forms提供动态的变量。当将ng模型添加到输入元素时。所以:
<input name="first_name" ng-model="first_name">
first_name
在您需要时可用。
但这取决于你想用它做什么。
如果不需要更改每个变量,则可以跳过全部声明变量,只需使用javascript原生Form Data对象
相关文章:
- 正在全局范围中查找JavaScript函数
- 如何通过数组更新角度子范围
- 在localhost Dev Box上测试JSONP请求的最佳方式
- 有条件更新d3.js力图中节点的最佳方法
- 如何使用ngrepeat和双向绑定获得指令的隔离范围
- 为react组件传递道具的最佳方式
- 与运行长作业(javascript,node.js)的第三方API同步的最佳实践
- HTML范围:动态设置值属性
- 让Webpack管理Quirky AMD定义的最佳方式
- "实例范围”;TypeScript类的getter/setter
- 在承诺链中处理早期回报的最佳方式
- jquery日期选择器年份范围默认值
- 将jQuery.ech()方法转换为本地JavaScript抽象的最佳方法是什么
- 在 JavaScript 中获取范围的随机数的最佳方法
- 网站范围内jQuery/javascript选择器的最佳实践
- 在 Aurelia(奥雷利亚)中在全球范围内提供像 lodash 这样的库的最佳实践是什么?
- 对于动态变化的时间,设置nvd3 x域范围的最佳方法是什么
- Angularjs模块范围常量的最佳实践
- 映射整数范围的最佳d3比例
- 定义范围变量的最佳实践