我正在经历一些非常特殊的行为 - 我很有棱角分明,为了免除你的问题,我尽我所能找到解决方案,但是经过几个小时后,我觉得是时候放弃并问。
代码汇总:字母数组,循环(ng-repeat),每个字母都链接到一个名为clickLetter()
的函数,此函数设置一个$ scope变量,反映当前选择的字母。
问题:负责显示当前活动字母的型号/变量一直没有更新,它似乎有时会随机更新。
我的猜测是,angular不会更新模型(双向数据绑定?)吗?
答案 0 :(得分:1)
看起来<a>
标记正在触发路由更改。向其添加$event.preventDefault()
或完全删除<a>
。 (似乎并没有添加任何价值)......
<div class="ui icon button padding5" ng-class="{'active': letter == activeLetter}" ng-repeat="letter in letters" ng-click="clickLetter(letter, $event)">
<a href="#" ng-click="$event.preventDefault()">{{letter}}</a>
</div>
或
<div class="ui icon button padding5" ng-class="{'active': letter == activeLetter}" ng-repeat="letter in letters" ng-click="clickLetter(letter, $event)">
{{letter}}
</div>
答案 1 :(得分:0)
问题是,当您单击字母而不是按钮时,链接会停止鼠标单击的传播。
在css文件中添加此类并应用于<a>
标记,其中包含字母:
.ignore-mouse-event {
pointer-events: none;
}
<a>
标记应更改为:
<a href="#" class="ignore-mouse-event">{{letter}}</a>