angularjs指令系统系列课程(1):目录
angularjs里面有一套十分强大的指令系统
比如内置指令:ng-app,ng-model,ng-repeat,ng-init,ng-bind等等
从现在开始我们讲解AngularJS自定义指令,
对于指令的命名;在定义时采用驼峰命名比如:helloDirective,
在页面中调用时会按照大写字母用-进行分割,并将大写字母变成小写:hello-directive
先看一个简单的指令:
js
angular.module('app',{}).directive('helloDirective', function() {
return {
template: '<div><span>hello directive</span></div>'
}
});
html:
<section> <div hello-directive></div> </section>
运行结果:
审查代码:
我们看下AngularJS里新定义一个指令的完整参数写法:
newsApp.directive('newDirective', function() {
return {
priority: 0, //优先级
template: '',
templateUrl: '', //引入模板链接
replace: false, //替换
transclude: false, //是否保留原有内容
restrict: 'E', // E C A M
controller: '', // or function(){}
scope: false, //true or {}
require: ['?ngModel'],//依赖项
compile: function compile(tElement, tAttrs, transclude) {
return {
pre: function preLink(scope, iElement, iAttrs, controller) {
},
post: function postLink(scope, iElement, iAttrs, controller) {
}
}
},
link: function postLink(scope, iElement, iAttrs) {
}
}
});
针对指令的这些参数我们进行分布讲解,课程目录:
-
第一节:目录
-
第二节:优先级priority,模板template,模板页templateUrl
-
第三节:替换replace,内容保留transclude,作用方式restrict
-
第四节:作用域scope
-
第五节:控制器controller
-
第六节:依赖项require,ngModel组件
-
第七节:compile函数
-
第八节:link函数


浙公网安备 33010602011771号