AngularJs Understanding the Model Component

 更新时间:2016年09月02日 10:39:55   作者:Lcllao  
本文主要介绍AngularJs Understanding the Model Component的内容,这里整理了相关资料,并详细讲解了这部分知识,有兴趣的小伙伴可以参考下

        在angular文档讨论的上下文中,术语“model”可以适用于单一对象代表一个实体(例如,一个叫” phones”的model,它的值是一个电话数组。)或者作为应用的全部数据Model(所有实体)。

  在angular中,model可以是任意数据,可以通过angular的scope对象的属性来获取model。属性的名称是model的标识,值可以是任意javascript对象(包括数组和原始数据)。

  javascript想成为model的唯一的条件是对象必须作为一个scope对象的属性被angular scope引用。属性的引用关系可以明确或者隐含地创建。

  我们可以通过以下几种方式来显式创建scope的属性,关联javascript对象来创建model:

在javascript代码中,直接赋值给scope对象的属性;这通常发出现在controller中:

function MyCtrl($scope) {

   // create property 'foo' on the MyCtrl's scope

   // and assign it an initial value 'bar'

   $scope.foo = 'bar';

 }

在模版的angular表达式(http://www.cnblogs.com/lcllao/archive/2012/09/16/2687162.html)中,使用赋值操作符:

<button ng-click="{{foos='ball'}}">Click me</button>

在模版中使用ngInit directive(http://docs.angularjs.org/api/ng.directive:ngInit)(仅仅作为例子,不推荐在真实应用中使用)

<body ng-init=" foo = 'bar' ">

  angular在下面的模版结构中会隐式创建model:

表单的input 、select、textarea和其他form元素:

<input ng-model="query" value="fluffy cloud">

  上面的代码,在当前的scope中创建了一个叫”query”的model,并且与input的value值绑定,初始化为”fluffy cloud”。

在ngRepeater中声明迭代器

<p ng-repeat="phone in phones"></p>

  上面的代码为每一个phones数组的元素各自创建了一个child scope,并且在对应的child scope中创建”phone”model,赋予数组中对应的值。

  在angular中,当出现下面的情况时,javascript对象将不再是一个model:

当没有angular scope包含与该对象关联的属性时。
所有包含与对象关联的属性的angular scope成为了陈旧和适合垃圾回收时。

  下面的插图展示了在一个简单的模版中隐式创建一个简单的数据model。

 

 以上就是关于AngularJS Understanding the Model Component 的资料整理,后续继续补充,谢谢大家对本站的支持!

相关文章

  • AngularJS实现的生成随机数与猜数字大小功能示例

    AngularJS实现的生成随机数与猜数字大小功能示例

    这篇文章主要介绍了AngularJS实现的生成随机数与猜数字大小功能,结合完整实例形式分析了AngularJS随机数生成与数值判定相关操作技巧,需要的朋友可以参考下
    2017-12-12
  • 详解AngularJs路由之Ui-router-resolve(预加载)

    详解AngularJs路由之Ui-router-resolve(预加载)

    本篇文章主要介绍了详解AngularJs路由之Ui-router-resolve(预加载),具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • 详谈Angular 2+ 的表单(一)之模板驱动型表单

    详谈Angular 2+ 的表单(一)之模板驱动型表单

    这篇文章主要介绍了Angular 2+ 的表单(一)之模板驱动型表单,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-04-04
  • angularjs ocLazyLoad分步加载js文件实例

    angularjs ocLazyLoad分步加载js文件实例

    本篇文章主要介绍了angularjs ocLazyLoad分步加载js文件,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • 详解AngularJS中自定义指令的使用

    详解AngularJS中自定义指令的使用

    这篇文章主要介绍了详解AngularJS中自定义指令的使用,包括结合自定义HTML标签的使用,需要的朋友可以参考下
    2015-06-06
  • 浅析AngularJs HTTP响应拦截器

    浅析AngularJs HTTP响应拦截器

    这篇文章主要介绍了浅析AngularJs HTTP响应拦截器的相关资料,需要的朋友可以参考下
    2015-12-12
  • Angular2整合其他插件的方法

    Angular2整合其他插件的方法

    本文给大家详细分析了Angular2整合其他插件的方法,有兴趣的朋友学习下。
    2018-01-01
  • AngularJS监听路由变化的方法

    AngularJS监听路由变化的方法

    本篇文章主要介绍了AngularJS监听路由变化的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • AngularJS实用开发技巧(推荐)

    AngularJS实用开发技巧(推荐)

    Angular JS 是一组用来开发Web页面的框架、模板以及数据绑定和丰富UI组件。接下来通过本文给大家介绍AngularJS实用开发技巧的相关资料,需要的朋友可以参考下
    2016-07-07
  • 深入理解Angularjs中的$resource服务

    深入理解Angularjs中的$resource服务

    大家可以知道在Angularjs中可以用$http同服务器进行通信,功能上比较简单,AngularJS还提供了另外一个可选的服务$resource,使用它可以非常方便的同支持restful的服务单进行数据交互。这篇文章主要给大家深入的介绍了Angularjs中的$resource服务。
    2016-12-12

最新评论