今天主要跟大家详细讲解一下angularjs的三大模块: modal,controller,view。
首先跟大家说一下这三个模块之间的关系。
1.数据模型(modal)主要提供数据。它不会和视图(view)直接操作。
2.controller保存modal提供的数据,与视图进行操作。
3.view是视图,也就是页面展示。
4.总而言之,controller负责数据和视图之间的通信,就是两者的接口人。他们分工明确,实现了模块化。
一.如何使用数据模型(modal)?
讲到数据模型,我们再来看一下上一节教程的例子:
<!DOCTYPE html> <html ng-app="app"> <head> <meta charset="UTF-8"> <title>Document</title> <script src="/UploadFiles/2021-04-02/angular.js">1.首先引入,angularjs包,启动的时候先是去找ng-app指令,也就指定了整个的作用域;
2.然后会继续找具体的指令,这里会找到ng-model,定义了一个“text”的数据模型。
3.下面使用了text的这个模型,所以实现了双向绑定。(只要是在ng-app的作用域内,都能直接使用text)
二.如何使用控制器(controller)?
首先说一下使用控制器的几个要点:
1.不要视图复用controller,一个控制器一般只负责一小块视图(一一对应);
2.不要在controller中直接操作DOM,这不是控制器的职责,操作DOM要使用指令derective(见上节教程);
3.不要在controller中进行数据过滤的操作,有专门的filter服务来实现这一块;
4.一般来说,不同的controller之间是不互相调用的,控制器的交互一般通过事件进行。
然后我们来看上面代码蓝色的部分,controll.js的内容是:
function controller($scope){ $scope.greeting = { text : 'hello' }; }angularjs找到一个ng-controller的指令,然后会找到定义这个指令的地方,就是controll.js文件,然后可以使用greeting.text直接获取到他的值。
三.如何使用视图(view)?
说到如何使用视图,就必须提到directive。(这里是新的知识了哟!!!!)
下面来看一段代码:
var appModule = angular.module('app', []); //app是html中ng-app指令的名称 appModule.directive('hello', function() { //定义一个指令,名称叫hello return { restrict: 'E', template: '<div>Hi there</div>', replace: true }; });上面的代码定义了一个指令标签,你可以直接在html中试试<hello></hello>,看看会发生什么吧!!!
然后我再讲解一下每个属性的含义:
1.restrict :(字符串)可选参数,指明指令在DOM里面以什么形式被声明。取值有:E(元素),A(属性),C(类),M(注释);上面的例子设置为元素形式(<hello></hello>);
2.template: (字符串或者函数)可选参数,返回的内容,上面的例子返回的是一个div;
3.templateUrl: 同上,通过url返回内容,如果返回内容很多,则建议使用此属性。
4.relace:(布尔值),默认值为false。上面的例子设为了true:页面使用hello标签后会被返回的div代替。
5.transclude:(布尔值),当设为true时。这个配置选项可以让我们提取包含在指令那个元素里面的内容,再将它放置在指令模板的特定位置,与ng-transclude合用。
6.还有一些其他属性,具体大家再慢慢了解吧。。。
OK,以上就是对这3个主要模块的使用说明了。希望对大家的学习有帮助啦。。。如果对于上面的笔记有不懂的地方,尽管问我,我肯定会给大家解答的。祝大家生活愉快!
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
更新日志
- 群星2013-青春缤纷辑压箱宝大公开3CD2[新加坡限量版][WAV整轨]
- 林育群.2013-BalladShow(日本版)【环球】【WAV+CUE】
- 陈加洛.1992-痛到感觉不到【宝丽金】【WAV+CUE】
- 群星.2023-宿命之敌电视剧原声带【韶愔音乐】【FLAC分轨】
- 東京事変-大発見[FLAC+CUE]
- 椎名林檎-三文ゴシップ[FLAC+CUE]
- 2024年08月04日
- 裘德《裘德「最后的水族馆」演唱会LIVE》[320K/MP3][228.89MB]
- 裘德《裘德「最后的水族馆」演唱会LIVE》[24bit 48kHz][FLAC/分轨][2.08G]
- 基因三重奏《如果你什么都不说 音乐会现场录音》[320K/MP3][145.37MB]
- 孟庭苇.1996-月亮说话(2020环球24KGOLD限量版)【上华】【WAV+CUE】
- 群星.1997-新艺宝优质音响系列·国语精选监听版【新艺宝】【WAV+CUE】
- 阿桑.2005-寂寞在唱歌(星外星引进版)【华研国际】【WAV+CUE】
- 基因三重奏《如果你什么都不说 音乐会现场录音》[FLAC/分轨][287.43MB]
- 蔡题谦《我爱你,却依然要看你走》[320K/MP3][88.65MB]