加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – angular-ui bootstrap accordion:我如何正确地观

发布时间:2020-12-17 06:54:11 所属栏目:安全 来源:网络整理
导读:我正在尝试在特定的手风琴节开始时执行动作.我的用例几乎与此 question here相同,只是我使用的是静态定义的而不是ng-each. 不知何故,当打开状态发生变化时,我无法触发$watch,任何人都可以告诉我为什么这不起作用: 视图: accordion close-others="false" ac
我正在尝试在特定的手风琴节开始时执行动作.我的用例几乎与此 question here相同,只是我使用的是静态定义的而不是ng-each.

不知何故,当打开状态发生变化时,我无法触发$watch,任何人都可以告诉我为什么这不起作用:

视图:

<accordion close-others="false">
   <accordion-group heading="group1" is-open="acc1open">
    content 1
   </accordion-group>    
   <accordion-group heading="group2" is-open="acc2open">
    content 2
   </accordion-group>  
  </accordion>

控制器:

$scope.acc1open = false;
  $scope.acc2open = true;

  $scope.$watch('acc1open',function(){
      console.log("watch acc1:" +$scope.acc1open);
  },true);

这是一个吸烟者:

http://plnkr.co/edit/Ycms81?p=preview

它在页面加载时一次打印“watch acc1:false”,但在打开手风琴组时则不打印.

解决方法

我添加了< span>在AccordionDemoCtrl div中,并将is-open更改为绑定到$parent.acc1open

<accordion-group heading="group1" is-open="$parent.acc1open">

<span ng-click="acc1open = true">Click me to open group 1</span>

指令有自己的范围,变量是自己的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读