项目中经常会有一些大众组件,比方header,假如每一个页面都写一遍的话显得很冗余,而且不利于保护,这时候我们就会斟酌将这些大众部份抽取出来,做成一个零丁的组件。
但是angular不是很熟悉啊~怎样啵~
折腾了一下,才发明angular的组件开辟重要依靠自定义指令(directive )来完成。
重要运用到directive的几个属性,以下:
restrict: 运用驼峰法来定名,用来限定指令经由过程特定的体式格局来挪用,默认值为 EA
E 作为元素名运用,如<my-directive></my-directive>
A 作为属性运用,如<div my-directive></div>
C 作为类名运用,如<div class=”my-directive”></div>
M 作为解释运用,如<!– directive: my-directive –>
scope: 指定作用域
false 默认值,同享父级作用域
true 继续父级作用域并建立指令本身的作用域
{} 建立指令本身的自力作用域,与父级毫无关系
templateUrl: 用来指定模板文件的url,如templateUrl: ‘header’
template:设置模板,如template:’这是一条指令’
controller:控制器
比方假如建立一个header组件,我们先新建一个文件夹header.html
<header>
<h1>这里是题目</h1>
<div class="goback" ng-touchstart="goBack($event)">返回</div>
<div>这里是右侧的笔墨</div>
</header>
接着新建directive.js
angular.module('myHeader', ["zz.rule"])
.directive('myHeader', function() {
return {
restrict: 'A',
templateUrl: 'header',
controller: function($scope, $element, $attrs) {
// 返回上一页
$scope.goBack = function(event) {};
}
};
})
好了,到这里一个组件就穿件好了,那末题目来了,怎样运用呢?
实在就跟平成引入插件一样一样的
建立index.html
<div zz-header></div>
angular.module('mymodel', ["myHeader"])
超等简朴有无,赶忙get起来