推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
coolicer

Angular 自定义 directive,scope 对新手来说可有可无

  •  
  •   coolicer · Feb 19, 2014 · 4356 views
    This topic created in 4467 days ago, the information mentioned may be changed or developed.
    首先在书上的例子:
    <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 replies    1970-01-01 08:00:00 +08:00
    ijse
        1
    ijse  
       Feb 19, 2014   ❤️ 1
    不可以哦。。

    @ 是字符绑定
    = 是双向绑定
    & 是单向绑定
    coolicer
        2
    coolicer  
    OP
       Feb 19, 2014
    @ijse 你的解析怎么跟书上不一样,书上说

    @ 传递字符
    = 把父scope属性导入到子scope
    & 引入父scope的一个函数
    ijse
        3
    ijse  
       Feb 19, 2014
    @coolicer 你在看哪本书?

    @ 我的意思也是传递字符,只有=是双向绑定的。

    =和&都是支持任意类型的
    coolicer
        4
    coolicer  
    OP
       Feb 19, 2014
    @ijse AngularJS 中文名 《用AngularJS开发下一代web应用》
    ijse
        5
    ijse  
       Feb 19, 2014
    哦哦,, 推荐 《ng-book 》这本书,我觉得讲得更好一些。。
    coolicer
        6
    coolicer  
    OP
       Feb 19, 2014
    @ijse 已经下载了,这本看完就看。
    ijse
        7
    ijse  
       Feb 19, 2014
    @coolicer ng-newsletter上的文章也都不错,推荐哦~~
    JimmyChange
        8
    JimmyChange  
       Feb 19, 2014
    expanderTitle是和你directive中的expander-title对应的,写成title:'@',应该算是语法糖
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5493 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 48ms · UTC 09:01 · PVG 17:01 · LAX 02:01 · JFK 05:01
    ♥ Do have faith in what you're doing.