angularjs 定义指令学习1
2015-06-04 18:09
302 查看
1、HTML中的定义方式与指令中可以不同,HTML中用XXXX-XXXX,在指令中用驼峰式,或者不用驼峰,形势一直。
2、可以在元素、属性、类名创建属性。
<lio></lio>
<div lio></div>
<p class="lio"></p>
<script>
var a=angular.module('lio',[]);
a.directive('lio',function(){
return{
restrict:'EAC',
template:'<a href="#">click here</a>',
replace:true
}
})
</script>
3、向指令中传数据
第一种:由所述控制器提供已经存在的作用域
把DOM中的值复制给指令的作用域,采用绑定机制。
<div my-lio my-name="http:\\" click-here="click me"></div>
<script>
var a=angular.module('lio',[]);
a.directive('myLio',function(){
return{
restrict:'EAC',
template:'<a href="{{myName}}">{{clickHere}}</a>',
replace:true,
scope:{
myName:'@',
clickHere:'@'
}
}
});
</script>
还可以绑定到指定的属性当中,如
<script>
var a=angular.module('lio',[]);
a.directive('myLio',function(){
return{
restrict:'EAC',
template:'<a href="{{myName}}">{{clickHere}}</a>',
replace:true,
scope:{
myName:'@',
clickHere:'@myName'
}
}
});
</script>
流程是:DOM复制到指令作作用域中(scope),指令作用域再对应template中的。
@绑定是一一对应。
第二种:数据绑定形式ng-model
模板中的数据初始化高于控制器中的:
<body ng-app="lio">
<div ng-controller="c">
<input type="text" ng-model="v.name" ng-init="v.name='sa'"/>
<span ng-bind="v.name"></span>
</div>
</body>
<script>
var a=angular.module('lio',[]);
a.controller('c',function($scope){
var v={};
v.name="Hello";
$scope.v=v;
})
</script>
2、可以在元素、属性、类名创建属性。
<lio></lio>
<div lio></div>
<p class="lio"></p>
<script>
var a=angular.module('lio',[]);
a.directive('lio',function(){
return{
restrict:'EAC',
template:'<a href="#">click here</a>',
replace:true
}
})
</script>
3、向指令中传数据
第一种:由所述控制器提供已经存在的作用域
把DOM中的值复制给指令的作用域,采用绑定机制。
<div my-lio my-name="http:\\" click-here="click me"></div>
<script>
var a=angular.module('lio',[]);
a.directive('myLio',function(){
return{
restrict:'EAC',
template:'<a href="{{myName}}">{{clickHere}}</a>',
replace:true,
scope:{
myName:'@',
clickHere:'@'
}
}
});
</script>
还可以绑定到指定的属性当中,如
<script>
var a=angular.module('lio',[]);
a.directive('myLio',function(){
return{
restrict:'EAC',
template:'<a href="{{myName}}">{{clickHere}}</a>',
replace:true,
scope:{
myName:'@',
clickHere:'@myName'
}
}
});
</script>
流程是:DOM复制到指令作作用域中(scope),指令作用域再对应template中的。
@绑定是一一对应。
第二种:数据绑定形式ng-model
模板中的数据初始化高于控制器中的:
<body ng-app="lio">
<div ng-controller="c">
<input type="text" ng-model="v.name" ng-init="v.name='sa'"/>
<span ng-bind="v.name"></span>
</div>
</body>
<script>
var a=angular.module('lio',[]);
a.controller('c',function($scope){
var v={};
v.name="Hello";
$scope.v=v;
})
</script>
相关文章推荐
- AngularJS学习之路--- $on、$emit和$broadcast的使用
- AngularJS依赖注入
- angularJS测试并集成到jinkens
- 有关Angular 2.0的一切
- 【AngularJs】---JSONP跨域访问数据传输
- 【Ionic】---AngularJS扩展基本布局
- 【AngularJs】---Error: [ng:areq] Argument is not a function, got undefined;
- 【AngularJs】---$sce 输出Html
- AngularJS中使用$resource(已更新)
- AngularJS中的控制器(controller)
- Javascript教程:AngularJS的五个超酷特性
- angularjs学习:$digest
- AngularJS笔记---数据绑定
- angularjs--指令
- AngularJS ng-include
- angularjs第一个内置函数学习~ $watch
- angularjs初始篇
- angular.element方法汇总(转)以及AngularJS 动态添加元素和删除元素
- AngularJS 单视图 view
- AngularJS中的控制器示例_3