初学者眼中的的Angularjs(二)

四、数据绑定

AngularJS是以数据做为驱动的MVC框架,所有模型(Model)里的数据经由控制器(Controller)展示到视图(View)中。
所谓数据绑定指的就是将模型(Model)中的数据与相应的视图(View)进行关联,分为单向绑定和双向绑定两种方式。

4.1单向绑定

单向数据绑定是指将模型(Model)数据,按着写好的视图(View)模板生成HTML标签,然后追加到DOM中显示,如之前所学的artTemplate
模板引擎的工作方式。 如下图所示,只能模型(Model)数据向视图(View)传递。
这里写图片描述

4.2双向绑定

双向绑定则可以实现模型(Model)数据和视图(View)模板的双向传递,如下图所示。
这里写图片描述

4.3相关指令

在AngularJS中通过“{{}}”ng-bind指令来实现模型(Model)数据向视图模板(View)的绑定,模型数据通过一个内置服务 scope scope是一个空对象,通过为这个对象添加属性或者方法便可以在相应的视图(View)模板里被访问。

注:“{{}}”是ng-bind的简写形式,其区别在于通过“{{}}”绑定数据时会有“闪烁”现象,添加ng-cloak也可以解决“闪烁”现象,通过ng-

AngularJS对事件也进行了扩展,无需显式的获取DOM元素便可以添加事件,易用性变的更强。通过在原有事件名称基础上添加ng-做为前缀,然后以属性的形式添加到相应的HTML标签上即可。如ng-click、ng-dblclick、ng-blur等。

通过ng-repeat可以将数组或对象数据迭代到视图模板中,ng-switch、on、ng-switch-when可以对数据进行筛选。

五、作用域

通常AngularJS中应用(App)是由若干个视图(View)组合成而成的,而视图(View)又都是HTML元素,并且HTML元素是可以互相嵌套的,另一方面视图都隶属于某个控制器(Controller),进而控制器之间也必然会产生嵌套关系。

每个控制器(Controller)又都对应一个模型(Model)也就是 scopeController scope便产生了作用域。

5.1根作用域
一个AngularJS的应用(App)在启动时会自动创建一个根作用域$rootScope,这个根作用域在整个应用范围(ng-app所在标签以内)都是可以被访问到的。

5.2子作用域
通过ng-controller指令可以创建一个子作用域,新建的作用域可以访问其父作用域的数据。

六、过滤器

在AngularJS中使用过滤器格式化展示数据,在“{{}}”中使用“|”来调用过滤器,使用“:”传递参数。
6.1内置过滤器

1、currency将数值格式化为货币格式
2、date日期格式化,年(y)、月(M)、日(d)、星期(EEEE/EEE)、时(H/h)、分(m)、秒(s)、毫秒(.sss),也可以组合到一起使用。
3、filter在给定数组中选择满足条件的一个子集,并返回一个新数组,其条件可以是一个字符串、对象、函数
4、json将Javascrip对象转成JSON字符串。 5、limitTo取出字符串或数组的前(正数)几位或后(负数)几位
6、lowercase将文本转换成小写格式 7、uppercase将文本转换成大写格式 8、number数字格式化,可控制小位位数
9、orderBy对数组进行排序,第2个参数是布尔值可控制方向(正序或倒序)

6.2自定义过滤器
除了使用AngularJS内建过滤器外,还可以根业务需要自定义过滤器,通过模块对象实例提供的filter方法自定义过滤器。
这里写图片描述

七、依赖注入

AngularJS采用模块化的方式组织代码,将一些通用逻辑封装成一个对象或函数,实现最大程度的复用,这导致了使用者和被使用者之间存在依赖关系。
所谓依赖注入是指在运行时自动查找依赖关系,然后将查找到依赖传递给使用者的一种机制。 通俗的讲就是通入注入的方式解决依赖关系。
常见的AngularJS内置服务有 http location、 timeout rootScope等

7.1推断式注入
没有明确声明依赖,AngularJS会将函数参数名称当成是依赖的名称。
这里写图片描述
这种方式会带来一个问题,当代码经过压缩后函数的参数被压缩,这样便会造成依赖无法找到。

7.2行内注入
以数组形式明确声明依赖,数组元素都是包含依赖名称的字符串,数组最后一个元素是依赖注入的目标函数。
这里写图片描述
推荐使用这种方式声明依赖

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
HugeGraph 是一个新兴的图数据库,它提供了灵活而强大的图数据存储和处理能力。对于初学者来说,学习 HugeGraph 可能需要掌握以下几个方面: 1. 图数据库基础知识:了解图数据库的概念、特点和用途,熟悉基本的图论术语和概念,如节点、边、属性等。 2. HugeGraph 的特性和架构:了解 HugeGraph 的设计理念和架构,包括数据模型、查询语言、索引技术、分布式存储等,以便更好地理解和运用 HugeGraph。 3. 数据模型和图操作:掌握 HugeGraph 的数据模型,包括节点和边的定义、属性的添加和检索,学会使用图操作语言(如 Gremlin 或 SparkGraphComputer)进行图数据的增删查改等操作。 4. 图算法和数据分析:熟悉一些常用的图算法,如最短路径、社区发现、图聚类等,了解如何使用 HugeGraph 提供的图算法接口进行数据分析和挖掘。 5. 性能优化和调优:了解 HugeGraph 的性能优化技巧和调优方法,如数据分片、分布式计算、索引策略等,以提高 HugeGraph 的查询和计算效率。 对于初学者来说,可以通过阅读 HugeGraph 的官方文档和教程、参与社区讨论、进行示例代码的学习等方式快速入门。此外,也可以通过实践项目或者使用 HugeGraph 对现有数据进行分析和查询来加深理解。尽早熟悉 HugeGraph 的基本概念和操作方式,不断练习和实践,才能更好地掌握使用 HugeGraph 进行图数据存储和处理的能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值