为了账号安全,请及时绑定邮箱和手机立即绑定

accordionController.addExpander(scope)怎么实现的

accordionController.addExpander(scope);这个函数的作用是什么哦,为什么去掉后他点击某一项的时候,其他项不会隐藏。是怎么起到效果的呢?54c88184000185b602720176.jpg这个是把那句去掉的时显示的效果~~~

正在回答

3 回答

expanders传入的是三个scope对象,而里面具有showMe属性,点击之前的时候所有showMe都是false并且传入expanders数组里,点击某一个div后,当前的盒子执行了toggle方法,使当前showMe变成true,并且执行了gotOpened方法,用angular.forEach循环,判断当前showMe与expanders数组里面的那个showMe不一样,如果发现不一样,那么把showMe设为false

1 回复 有任何疑惑可以回复我~

自己的理解,当执行link函数的时候,把当前的expander push 到accordion的 expanders 数组里面,然后点击当前的expander的时候 执行 accordion的gotOpend 方法,把当前对象传递进去, 而gotOpend 方法里面有 一个forEach的遍历对 expanders进行循环判断,如果不等于它本身, expander.showMe = false, 也就是ng-show = fasle, 用这个来对其他没有点击的expander进行隐藏。

自己的理解,不知道是否正确。当然也相信楼主早已解除困惑,在这里回答一下,分享给其他同样有这个问题的伙伴们。

0 回复 有任何疑惑可以回复我~
#1

Y_Zach

但是为什么要给addExpander(selectedExpander)中传参scope呢?这里有点不解?
2017-10-23 回复 有任何疑惑可以回复我~
#2

qq_杨小姐好萌啊_0 回复 Y_Zach

因为SCOPE里面具有你新穿件的myShow值啊,比较就是myShow值得变化
2018-03-05 回复 有任何疑惑可以回复我~

就是判断你点击的是哪一项,把点击的那一项显示出来,没有被点击的ng-show都为false .... 哇啊~ 已经一年过去了

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
AngularJS实战
  • 参与学习       205465    人
  • 解答问题       1158    个

一起学习AngularJS的基础教程,通过实例学习并学会AngularJS

进入课程

accordionController.addExpander(scope)怎么实现的

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信