AngularJS内置指令_AngularJS
程序员文章站
2022-03-27 20:38:04
...
指令,我将其理解为AngularJS操作HTML element的一种途径。
由于学习AngularJS的第一步就是写内置指令ng-app以指出该节点是应用的根节点,所以指令早已不陌生。
{{someModel.someProperty}}
I'm a/an {{job}}
也就是说根下的作用域都可以访问它。
但是,不建议过度使用$rootScope,免得全局变量满天飞,效率又差又难管。
下面是一个例子:
{{ someProperty }}
function ohMyController($scope) {
//...
}
{{ ancestorName }}
{{ childName }}
{{ ancestorName }}
{{ childName }}
由于学习AngularJS的第一步就是写内置指令ng-app以指出该节点是应用的根节点,所以指令早已不陌生。
这篇日志简单记录了一些内置指令,先使用起来,再谈一些有趣的东西。
内置指令
所有的内置指令的前缀都为ng,不建议自定义指令使用该前缀,以免冲突。
首先从一些常见的内置指令开始。
先列出一些关键的内置指令,顺便简单说说作用域的问题。
ng-model
将表单控件和当前作用域的属性进行绑定,这么解释似乎也不太正确。
但先不要管咬文嚼字,用起来倒是易懂,例如:
复制代码 代码如下:
{{someModel.someProperty}}
ng-init
该指令被调用时会初始化内部作用域。
这个指令一般会出现在比较小的应用中,比如给个demo什么的...
复制代码 代码如下:
I'm a/an {{job}}
除了ng-init,我们还有更多更好的选择。
ng-app
每一次用AngularJS都离不开这个指令,顺便说下$rootScope。
声明了ng-app的元素会成为$rootScope的起点,而$rootScope是作用域链的根,通常声明在
也就是说根下的作用域都可以访问它。
但是,不建议过度使用$rootScope,免得全局变量满天飞,效率又差又难管。
下面是一个例子:
复制代码 代码如下:
{{ someProperty }}
ng-controller
我们用这个指令在一个DOM元素上装上controller。
一个控制器? 确实,从字面意思上这样理解倒是不错,那我们为什么需要控制器?
记得AngularJS 1.2.x时还可以这样定义controller来着...
复制代码 代码如下:
function ohMyController($scope) {
//...
}
AngularJS 1.3.x中禁止了这种方式,因为这种方式会让controller满天飞,分不清层次,所有东西都挂在$rootScope上...
ng-controller必须有一个表达式作为参数,另外通过$scope来继承上级$scope的方法和属性什么的,$rootScope也包括在内。
下面只是一个简单的例子,ancestor无法访问child的作用域。
复制代码 代码如下:
{{ ancestorName }}
{{ childName }}
{{ ancestorName }}
{{ childName }}
作用域的问题远不止如此,暂且搁下,继续看看其他内置指令。
ng-form
起初不明白为什么会有个表单指令,
推荐阅读
-
详解AngularJs与SpringMVC简单结合使用
-
详解AngularJs与SpringMVC简单结合使用
-
Vue 通过自定义指令回顾v-内置指令(小结)
-
Spring Boot+AngularJS+BootStrap实现进度条示例代码
-
用angularjs开发下一代web应用教程(web技术与应用)
-
解决angularJS中input标签的ng-change事件无效问题
-
angularjs的单选框+ng-repeat的实现方法
-
Angularjs Ng_repeat中实现复选框选中并显示不同的样式方法
-
ios设备中angularjs无法改变页面title的解决方法
-
AngularJS修改model值时,显示内容不变的实例