Javascript 嵌套在指令元素中的uibCollapse赢得';不行,
单击“我的目录”时,折叠的元素不会展开。 我已经在css中为Javascript 嵌套在指令元素中的uibCollapse赢得';不行,,javascript,angularjs,angular-ui-bootstrap,Javascript,Angularjs,Angular Ui Bootstrap,单击“我的目录”时,折叠的元素不会展开。 我已经在css中为.btn类设置了大小,以确保实际单击事件 //index.html <body ng-controller="ctrl"> <p>{{hello}}</p> <div class="btn" my-dir></div> </body> //tmpl.html <div class="dir-box"> <div uib-c
.btn
类设置了大小,以确保实际单击事件
//index.html
<body ng-controller="ctrl">
<p>{{hello}}</p>
<div class="btn" my-dir></div>
</body>
//tmpl.html
<div class="dir-box">
<div uib-collapse="isCollapsed">
<p>Hello World!</p>
<p>Nice to meet You!</p>
<p>: )</p>
</div>
</div>
你好,世界
很高兴认识你
:)
为什么uibCollapse在这种情况下不起作用
有什么想法吗
有两件事需要解决: 1.更改
单击
绑定到ng单击
。默认情况下,angular不会在jquery事件上运行其$digest
循环。您可以通过在代码中添加$scope.$apply()
或$timeout
来解决这个问题,但我建议使用ng click
作为更合适的方法
根据您的原始代码,我应该将其添加到指令模板中,但您的dir框
位置与蓝色区域不重叠
2.在uib collapse
元素上使用overflow:hidden
当父级高度为0时,仍显示内容
有两件事需要解决: 1.更改
单击
绑定到ng单击
。默认情况下,angular不会在jquery事件上运行其$digest
循环。您可以通过在代码中添加$scope.$apply()
或$timeout
来解决这个问题,但我建议使用ng click
作为更合适的方法
根据您的原始代码,我应该将其添加到指令模板中,但您的dir框
位置与蓝色区域不重叠
2.在uib collapse
元素上使用overflow:hidden
当父级高度为0时,仍显示内容
<div class="dir-box">
<div uib-collapse="isCollapsed">
<p>Hello World!</p>
<p>Nice to meet You!</p>
<p>: )</p>
</div>
</div>