var app=angular.module('myapp',[]);
app.directive(name,fn)
var app=angular.module('myapp',[]);
app.run(function($templateCache){
$templateCache.put('cache','<h3>模板内容来源于缓存</h3>')
});
app.directive('tsHello',function(){
return{
restrict:'EAC',
template:'<h3>Hello,directive</h3>'
}
})
app.directive('tsTplfile',function(){
return{
restrict:'EAC',
templateUrl:'/static/tpl.html'
}
});
app.directive('tsTplscript',function(){
return {
restrict:'EAC',
templateUrl:'tpl',
replace:true
}
});
//templateUrl属性值是添加的缓存名称,加速文件访问
app.directive('tsTplcache',function(){
return{
restrict:'EAC',
templateUrl:'cache'
}
})
</script>
<script type="text/ng-template" id='tpl'>
<div>
<input type="text" ng-model='text' />
<div ng-transclude></div>
</div>
</script>
<ts-tplscript>{{text}}</ts-tplscript>
<script type="text/javascript">
var app=angular.module('myapp',[]);
app.directive('tsTplscript',function(){
return {
restrict:'EAC',
templateUrl:'tpl',
transclude:true
}
});
</script>
<script type="text/ng-template" id='tpl'>
<button>单击按钮</button>
</script>
<div>
<ts-tplscript></ts-tplscript>
<div>{{content}}</div>
</div>
<script type="text/javascript">
var app=angular.module('myapp',[]);
app.directive('tsTplscript',function(){
return {
restrict:'EAC',
templateUrl:'tpl',
replace:true,
link:function(scope,iEle,iAttrs){
iEle.bind('click',function(){
scope.$apply(function(){
scope.content='这是点击后的内容';
})
iAttrs.$$element[0].disabled=true;//这里也可以替换为this.disabled=true;
});
}
}
});
</script>
<div ng-controller='myController'>
<ts-a>
<ts-b>
{{tip}}
</ts-b>
</ts-a>
</div>
<script type="text/javascript">
var app=angular.module('myapp',[]);
app.controller('myController',function($scope){
$scope.tip='跟踪compile执行过程 ';
});
app.directive('tsA',function(){
return {
restrict:'EAC',
compile:function(tEle,tAttrs,trans){
console.log('正在编译A指令');
//返回一个对象时,对象中包含两个名为`pre`和`post`的方法函数
return {
pre:function(scope,iEle,iAttrs){
console.log('正在执行A中的pre函数');
},
post:function(scope,iEle,iAttrs){
console.log('正在执行A中的post函数');
}
}
}
}
});
app.directive('tsB',function(){
return {
compile:function(tEle,tAttrs,trans){
console.log('正在编译B指令');
return{
pre:function(scope,iEle,iAttrs){
console.log('正在执行B中的pre函数');
},
post:function(scope,iEle,iAttrs){
console.log('正在执行B中的post函数');
}
}
}
}
})
</script>
正在编译A指令 正在编译B指令 正在执行A中的pre函数 正在执行B中的pre函数 正在执行B中的post函数 正在执行A中的post函数
<script type="text/ng-template" id='tpl'>
<div>{{message}}</div>
<button ng-transclude></button>
</script>
<div>
<input type="text" ng-model='message' />
<ts-message>固定</ts-message>
</div>
<script type="text/javascript">
var app=angular.module('myapp',[]);
app.directive('tsMessage',function(){
return {
restrict:'EAC',
templateUrl:'tpl',
transclude:true,
scope:true,
link:function(scope,iEle,iAttrs){
iEle.bind('click',function(){
scope.$apply(function(){
scope.message='这是单击按钮后的值。'
})
})
}
}
});
</script>
<script type="text/ng-template" id='tpl'>
<div>
<span>姓名:{{textName}}</span>
<span>年龄:{{textAge}}</span>
</div>
<button ng-transclude></button>
</script>
<div ng-controller="myController">
姓名:<input type="text" ng-model='text_name' /><br>
年龄:<input type="text" ng-model='text_age' /><br>
<div>{{tip}}</div>
<ts-json a-attr="{{text_name}}" b-attr="text_age" reset="reSet()">重置</ts-json>
</div>
<script type="text/javascript">
var app=angular.module('myapp',[]);
app.controller('myController',function($scope){
$scope.reSet=function(){
$scope.tip='姓名与年龄重置成功!';
}
});
app.directive('tsJson',function(){
return {
restrict:'EAC',
templateUrl:'tpl',
transclude:true,
scope:{
textName:'@aAttr',
textAge:'=bAttr',
reSet:'&reset'
},
link:function(scope,iEle,iAttrs){
iEle.bind('click',function(){
scope.$apply(function(){
scope.reSet();
scope.textName='张三';
scope.textAge='20';
})
})
}
}
});
</script>
<div>
<ts-parent>
<div>{{ptip}}</div>
<ts-child>
<div>{{ctip}}</div>
</ts-child>
<button ng-click='click()'>换位</button>
</ts-parent>
</div>
<script type="text/javascript">
var app=angular.module('myapp',[]);
app.directive('tsParent',function(){
return {
restrict:'EAC',
controller:function($scope,$compile,$http){
this.addChild=function(c){
$scope.ptip='今天天气不错!';
$scope.click=function(){
$scope.tmp=$scope.ptip;
$scope.ptip=c.ctip;
c.ctip=$scope.tmp;
}
}
}
}
});
app.directive('tsChild',function(){
return {
restrict:'EAC',
require:'^?tsParent',
link:function(scope,iEle,iAttrs,ctrl){
scope.ctip='气温正好18摄氏度';
ctrl.addChild(scope);
}
}
})
</script>
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有