这是一个创建于 3930 天前的主题,其中的信息可能已经有所发展或是发生改变。
首先在书上的例子:
<div ng-cont rol l er=' SomeCont rol l er' >
<expander cl ass=' expander' expander-t i t l e=' t i t l e' >
{{t ext }}
</ expander>
</ di v>
angular. modul e(' expanderModul e' , [ ] )
. di rect i ve(' expander' , functi on(){
return {
rest ri ct : ' EA' ,
repl ace: true,
t ranscl ude: true,
scope: { t i t l e: ' =expanderTi tle' },
t empl at e: ' <di v>' +
' <di v cl ass="t i t l e" ng-cl i ck="t oggl e()">{{t i t l e}}</ di v>' +
' <di v cl ass="body" ng-show="showMe" ng-t ranscl ude></ di v>' +
' </ di v>' ,
l i nk: functi on(scope, el ement , at t rs) {
scope. showMe = fal se;
scope. t oggl e = functi on t oggl e() {
scope. showMe = ! scope. showMe;
}
}
}
});
这里的 scope: { t i t l e: ' =expanderTi tle' } 是否可以写成 scope: {title:'@'},因为父scope中有title。如果是按书中的写法,是找到父scope的expanderTitle属性,再取它的值title,再对应$scope.title? =。=
从pdf复制过来,有点难看。
8 条回复 • 1970-01-01 08:00:00 +08:00
|
|
1
ijse 2014-02-19 14:44:08 +08:00 1
不可以哦。。
@ 是字符绑定 = 是双向绑定 & 是单向绑定
|
|
|
2
coolicer 2014-02-19 14:54:26 +08:00
@ ijse 你的解析怎么跟书上不一样,书上说 @ 传递字符 = 把父scope属性导入到子scope & 引入父scope的一个函数
|
|
|
3
ijse 2014-02-19 15:50:08 +08:00
@ coolicer 你在看哪本书? @ 我的意思也是传递字符,只有=是双向绑定的。 =和&都是支持任意类型的
|
|
|
4
coolicer 2014-02-19 16:25:38 +08:00
@ ijse AngularJS 中文名 《用AngularJS开发下一代web应用》
|
|
|
5
ijse 2014-02-19 16:53:00 +08:00
哦哦,, 推荐 《ng-book 》这本书,我觉得讲得更好一些。。
|
|
|
7
ijse 2014-02-19 18:48:08 +08:00
@ coolicer ng-newsletter上的文章也都不错,推荐哦~~
|
|
|
8
JimmyChange 2014-02-19 21:11:02 +08:00
expanderTitle是和你directive中的expander-title对应的,写成title:'@',应该算是语法糖
|