- 指令是给原生 html 标签添加了一些新的属性,达到自己想要的效果
- jquery 是用来做特效做 DOM 操作的,以 DOM 驱动
- AngularJS 是以数据驱动的
- 双向绑定就是 MVVM
- ng-include 内部是 ajax 请求
- 防止闪烁的插值使用方式
<style>
[ng-cloak]{
display:none;
}
</style>
<p ng-cloak>{{}}</p>
- 自定义指令时
app.directive('xmg',function(){
return {
restrict:'EA',
//模版必须用一个盒子包装起来
//template:'<div><h1>这是模版</h1><p>123</p></div>',
template:'<h1>这是模版</h1><div ng-transclude></div>'
replace:true,
//是否保留原标签中的内容 <div ng-transclude></div>代表的是 标签中的所有内容插入的位置
transclude:true,
controller:function($scope){
//当指令创建时就会执行,主要处理一些业务逻辑
},
link:function($scope){
//当指令当中所有内容加载完毕,才会执行,处理一些 DOM 操作
}
}
})
自定义指令的时候
如果指令名字有大写也有小写,那么在使用模版替换元素/属性的时候 需要全小写,大写之前用’-‘隔开
app.directive('xmgContent',function(){
restrict:'EA',
template:'<h1>这是模版</h1>',
replace:true
})
<xmg-content></xmg-content>
<div xmg-content></div>
控制器中注入的是服务,angular.module('app',[]);
中括号中注入的是模块
网友评论