在角度文档讨论的上下文中,术语“模型”可以应用于表示实体的单个对象(例如,称为“电话”的模型,其值是电话阵列。)或作为应用程序的所有数据模型(所有实体)。
在angular中,模型可以是任何数据,并且可以通过angular scope对象的属性获得。属性的名称是模型的标识符,值可以是任何javascript对象(包括数组和原始数据)。
javascript成为模型的唯一条件是对象必须被Angular scope引用为scope对象的属性。属性的引用关系可以显式或隐式创建。
我们可以通过以下方式显式地创建作用域属性,并将javascript对象关联起来以创建模型:
在javascript代码中,直接将属性赋给scope对象;这通常发生在控制器中:
函数MyCtrl($scope) { //在MyCtrl的作用域//上创建属性“foo”,并为其分配初始值“bar”$ scope . foo=“bar”;}在模板的角度表达式(http://www . cn blogs.com/lcllao/archive/2012/09/16/2687162 . html)中,使用赋值运算符:
按钮ng-click='{{foos='ball'} '单击我/按钮
在模板中使用ng init direct(http://docs.angularjs.org/api/ng.directive:ngInit)(仅作为示例,不建议在实际应用程序中使用)
body ng-init=' foo='bar ' '
Angular在以下模板结构中隐式创建模型:
表单的输入、选择、文本区域和其他表单元素:
输入ng-model='query '值='fluffy cloud '
上面的代码在当前范围内创建了一个名为“query”的模型,该模型绑定到输入的值,并初始化为“fluffy cloud”。
在ngRepeater中声明迭代器
p ng-repeat=“电话中的电话”/p
上面的代码为phones数组的每个元素创建一个子范围,并在相应的子范围内创建一个“phone”模型,在数组中给出相应的值。
在angular中,当出现以下情况时,javascript对象将不再是模型:
当没有角度范围包含与对象相关联的属性时。包含与对象相关联的属性的所有角度范围都变得过时,并适合于垃圾收集。
下图显示了在简单模板中隐式创建简单数据模型。
以上是Angular JS了解模型组件的信息整理,以后继续补充。感谢您对本网站的支持!