【问题标题】:data-ng-click not working in template with data-ng-hrefdata-ng-click 在带有 data-ng-href 的模板中不起作用
【发布时间】:2015-02-17 19:08:37
【问题描述】:

您好,我是 Angular 新手,遇到了 Angular 模板的一个奇怪问题。我的模板有代码:

<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);
                }
            })

任何我做错的想法。

【问题讨论】:

  • 我猜 ng-repeat 有一些问题。
  • 标签: javascript angularjs angularjs-directive angularjs-ng-repeat angular-ui


    【解决方案1】:
    <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);
                    }
    

    您必须阻止事件的默认操作,因为您在锚元素上,它将触发浏览器更改视图。

    【讨论】:

    • 这里 showScrollAndGo 没有从视图中调用。
    【解决方案2】:

    我想你最好检查一下需求。在点击锚标记时,请查看您正在尝试同时执行的两个事件。

    因此,您需要明确要求在单击锚标记时触发一个事件,以将用户重定向到某个链接或在单击时执行某些操作。

    当由于href导致状态改变时,你不需要考虑折叠,因为当你回到早期状态/href时,你会发现折叠处于早期状态。

    希望对您有所帮助!

    【讨论】:

      猜你喜欢
      相关资源
      最近更新 更多
      热门标签