博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
angularjs探秘<三> 控制器controller及angular项目结构
阅读量:7054 次
发布时间:2019-06-28

本文共 1610 字,大约阅读时间需要 5 分钟。

先来看一个例子

angularJS
var MyApp = angular.module('AppModule',[]);        // 注册模块// SayHello控制器MyApp.controller('SayHello',['$scope',function($scope){    $scope.name = "Jerry";    $scope.say = "Hi! Tom."}]);// NameList控制器MyApp.controller('NameList',['$scope',function($scope){    $scope.nList = ['javascript','jQuery','angularjs','vuejs','HTML5','CSS3','nodejs'];}]);

运行结果

 

var MyApp = angular.module('AppModule',[]); 用来注册模块,声明一个变量引用angular的module方法,注册一个模块;

angular.module('AppModule',[]); 第一个参数定义模块名;第二个参数引用需要依赖的其他模块(模块名组成的数组)。

MyApp.controller('conName' , ['$scope',function(){  //... ...  }]); 第一个参数定义控制器名称;第二个参数定义控制器内容,数组第一个元素注册scope对象,数组第二个为控制器函数体。

注意:这里的$scope是angular的内置对象并不是普通函数,不可随意命名。

angularjs的controller使用中的注意点

1.不要试图去复用controller,一个控制器一般只负责一小块视图;

2.不要在controller中操作DOM,这不是控制器的职责,在使用中会浪费浏览器资源;
3.不要在controller里面做数据格式化,ng有很好用的表单空间;
4.不要在controller里面做数据过滤,ng有$filter服务;
5.一般controller不要互相调用,控制器之间的交互会通过事件去做交互;

 

$scope的作用及定义

1.$scope是一个POJO(plain old JavaScript object);

2.$scope提供了一些工具方法$watch()/$apply();
3.$scope是表达式的执行环境;
4.$scope是一个树形结构,与DOM标签平行;
5.子$scope对象会继承父$scope上的属性和方法;
6.每一个angular应用只有一个根$scope对象(位于ng-app上);
7.$scope可以传播事件,类似DOM事件,可以向上向下传播。
8.$scope是angular的基础核心。
9.可以用angular.element($0).scope()进行调试;

 

 

angular项目结构

angular项目可在前端实现MVC,angular的mvc与其他后台语言的mvc结构类似;js目录放自定义的controller,framework目录放官方或第三方controller或插件,tpls目录放母版页和视图,node_module目录放第三方或官方node插件。

一般app.js为angular项目入口,类似后台语言的main方法。

转载于:https://www.cnblogs.com/MirageFox/p/7662444.html

你可能感兴趣的文章
vuex 简单使用步骤
查看>>
第四范式:来,一起玩转人工智能
查看>>
小猿圈Html5自学之WebSocket跨域问题解决
查看>>
金三银四,最详细的Android工程师面试大总结
查看>>
创业为什么选小程序?微信小程序3大优势与11大功能
查看>>
微软小冰称用户数超1亿8月将在北京开新品发布会
查看>>
Java 继承
查看>>
我发现了比特币现金的漏洞
查看>>
Java springboot B2B2C o2o多用户商城-分布式配置中心
查看>>
Java程序员学习Spring Boot,先看看这16条实践总结吧~
查看>>
Java b2b2c SpringBoot多用户商城系统(十):服务网关zuul初级篇
查看>>
并发编程-synchronized关键字大总结
查看>>
CentOS6.5 上部署 MySQL5.7.17 二进制安装以及多实例配置
查看>>
我的友情链接
查看>>
RAID
查看>>
SHELL学习——判断
查看>>
用Python做科学计算
查看>>
Unity3d中C#使用指针(Unsafe)的办法
查看>>
Win10下用Anaconda安装TensorFlow
查看>>
http_load压力测试工具
查看>>