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

angularjs的一个问题,ng-repeat中使用ng-click

  •  
  •   ThomasChan · Dec 26, 2013 · 12101 views
    This topic created in 4543 days ago, the information mentioned may be changed or developed.
    最近在学angular 遇到一个问题
    模板是这样

    settings是这样


    结构类似于选项卡

    可是我这么写没效果 点ng-click修改不了ng-include

    可是在另一个页面里这么写是有效果的


    额搞不懂。。
    6 replies    1970-01-01 08:00:00 +08:00
    leofml
        1
    leofml  
       Dec 26, 2013
    teddy1004
        2
    teddy1004  
       Dec 26, 2013
    ng-click 里面不用加双括号
    ThomasChan
        3
    ThomasChan  
    OP
       Dec 26, 2013
    @leofml
    @teddy1004
    不加双引号的话加载出来就还是ng-click=" L = set.link "
    加双引号加载出来是ng-click=“ L = '模板路径' ”
    所以我就搞不明白是哪儿的问题了
    teddy1004
        4
    teddy1004  
       Dec 27, 2013   ❤️ 1
    @ThomasChan 1楼给的文档里面的例子很明白了,ng-click 是不用加花括号的
    还有就是你的代码的 scope 的问题,因为 ng-repeat 里面输出的元素会有自己新的 scope, L 所在的 scope 是 rootScope,所以就导致变成下面的状况
    https://www.dropbox.com/s/0utsjmsiy138hea/Screen%20Shot%202013-12-27%20at%2012.49.18%20AM.png

    你每次 ng-click 的时候其实是在新的 scope 里面在创建一个自己的 L 然后赋值的,而 rootScope 的值是一直没变的,比如随便点击了一个就是下面的状况:
    https://www.dropbox.com/s/8ub06pycsr10m05/Screen%20Shot%202013-12-27%20at%2012.52.17%20AM.png

    解决办法就是,把你代码里面的 L 变成 L.link 或者其他 L.anything
    . 起的作用你可以去 egghead.io 里面看看,专门有讲解的,加了之后 scope 层级就变成这样了:
    https://www.dropbox.com/s/q0c49x4b1vzr66i/Screen%20Shot%202013-12-27%20at%201.00.54%20AM.png

    最后推荐一下我用的这个 chrome 插件,AngularJS Batarang,学 AngularJS 必备~
    teddy1004
        5
    teddy1004  
       Dec 27, 2013
    @ThomasChan 图不小心删了
    这是用 L 时候的 scope:
    http://d.pr/i/S8k4

    加了 . 之后的 scope:
    http://d.pr/i/38Rq
    ThomasChan
        6
    ThomasChan  
    OP
       Dec 27, 2013
    @teddy1004 非常感谢
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5713 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 144ms · UTC 03:09 · PVG 11:09 · LAX 20:09 · JFK 23:09
    ♥ Do have faith in what you're doing.