angularjs怎么使用controller控制js
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了angularjs怎么使用controller控制js相关的知识,希望对你有一定的参考价值。
1,利用作用域继承的方式。即子控制器继承父控制器中的内容2,基于事件的方式。即$on,$emit,$boardcast这三种方式
3,服务方式。写一个服务的单例然后通过注入来使用 参考技术A 控制js?这话确定没毛病
AngularJs学习笔记(慕课网)
1. Controller使用过程中的注意点
- 不要试图去复用Controller, 一个控制器一般只负责一小块视图
- 不要在Controller中操作DOM, 这不是控制器的职责. 封装在指令里.
- 不要在Controller中做数据格式化, ng有很好用的表单控件
- 不要在Controller里面做数据过滤操作, ng有$filter服务
- 一般来说, Controller是不会互相调用的, 控制器之间的交互会通过事件进行 ---> 这是强耦合
2.
<html ng-app> <div> <input ng-model="greeting.text"/> <p>{{greeting.text}}, Angular</p> </div> .... <script src="js/angular-1.3.0.js"></script> <html>
则p标签中的值会随着input里的输入进行改变.
启动后, 会找ng-app中的指令. 找到ng-model后会生成greeting.text数据模型, 这个模型挂载scope根目录下, 这样所有的{{greeting.text}}都可以获得其值
3. Angularjs的MVC是借助于$scope实现的
作用域也是有层次结构的, 如果在内层作用域中没有找到值则会向上去找, 类似JS中的原型查找
4. 关于$scope
- $scope是一个POJO(Plain Old JavaScript Object)
- $scope提供了一些工具方法$watch()/$apply()
- $scope是表达式的执行环境(或者叫作用域)
- $scope是一个树形结构, 与DOM标签平行
- 子$scope对象会继承父$scope上的属性和方法
- 每一个Angular应用只有一个根$scope对象(一般位于ng-app上)
- $scope可以传播事件, 类似DOM事件, 可以向下也可以向上
- $scope不仅是MVC的基础, 也是后面实现双向数据绑定的基础
- 可以用angular.element($0).scope()进行调试
- $scope的生命周期: Creation->Watcher registration->Model mutation->Mutation observation->Scope destruction
以上是关于angularjs怎么使用controller控制js的主要内容,如果未能解决你的问题,请参考以下文章
AngularJs(五)从Controller控制器谈谈$scope作用域