一 场景
想象一下,我们在用angular项目的时候,会把一个一个的组件(如头部,尾部,nav)等封装成一个一个指令,以便多次使用,指令的交互通常写在一个link: 里面.....
那是不是我们这个指令一定义就可以复用了呢,no,你想一下,比如一个头部header,它可能在主页上文字显示为主页,在详情页显示为详情,那怎么办呢?????
或者我们要点击指令上的一个地方,比如,分类,在页面上弹出一个分类的sheet???? 而这个sheet是写在指令外面???
2017-04-30_143903.png
二 与控制器交互
主要依赖指令的scope对象
scope:{
'=' //控制器的属性(也就是传递过来的数据对象)
'&' //回掉函数 比如 tabClick: '&'
<div app-tab tab-click ='tClick(id,name)'></div>【注意,参数为回调函数参数对象的没一个属性】,我就醉了
'@' //直接穿文字 <div text="你好的"></div>
}
link : function(scope){
scope.click = function(item){
//回掉
scope.tabClick(item)
}
}














网友评论