嗨,我是棱角分明的新人,面对角度模板的奇怪问题。我的模板有代码:
<li hover-menu data-ng-repeat="nav in navigations" data-ng-class="{'active': current == nav.name.toLowerCase() }">
<a data-ng-href="{{nav.link}}" data-ng-click="nav.collapse = !nav.collapse">
<i class="{{nav.icon}} fa-lg-icn"></i><span class="menu-title">{{nav.name}}</span>
</a>
<ul class="dropmenu" data-ng-show="nav.sub_menu != false" collapse="nav.collapse">
<li data-ng-repeat="item in nav.sub_menu">
<a data-ng-href="{{item.link}}" data-ng-click="showScrollAndGo(item.link)"><i class="fa fa-circle mrm mlm"></i>{{item.name}}</a>
</li>
</ul>
</li>
但是 data-ng-click =“showScrollAndGo(item.link)无效。虽然我已在全球范围内定义了这样的内容:
app.run(function($rootScope, $location) {
$rootScope.showScrollAndGo = function (path) {
alert(path)
$rootScope.showSpinner = false;
$location.path(path);
}
})
我做错了什么想法。
答案 0 :(得分:0)
<a data-ng-href="{{item.link}}" data-ng-click="showScrollAndGo($event, item.link)"><i class="fa fa-circle mrm mlm"></i>{{item.name}}</a>
$rootScope.showScrollAndGo = function ($event, path) {
$event.preventDefault();
alert(path)
$rootScope.showSpinner = false;
$location.path(path);
}
您必须阻止事件的默认操作,因为您在锚元素上,它将触发浏览器更改视图。
答案 1 :(得分:0)
我想你最好检查一下要求。看到您在点击锚标记时同时尝试执行的两个事件。
因此,您需要明确要求在点击锚标记时触发一个事件,以将用户重定向到某个链接或在点击时执行某些操作。
当由于href而导致状态发生变化时,您不需要考虑崩溃,因为当您回到早期状态/ href时,您会发现崩溃处于早期状态。
希望这有帮助!