【问题标题】:ng-click not working with mmenung-click 不适用于 mmenu
【发布时间】:2016-04-24 19:02:55
【问题描述】:

我尝试将 mmenu 菜单 http://mmenu.frebsite.nl/ 与我的 angularJS 基础应用程序一起使用。 ui-sref 可以正常工作,但 ng-click 不能正常工作 与 mmenu 链接。 谁能帮帮我,我做错了什么。

HTML 主页

<body ng-app="student">
            </div>
            <div class="header"><a href="#menu"></a>menu</div>
            <div class="content">
                    <div ui-view></div>
            </div>
            <nav id="menu">
        <ul>
            <li ><a ng-href=""  ng-click="holidayInfo()">Holiday</a></li>
            <li><a ui-sref="notices">Notices</a></li>
    </ul>
</nav>
</div>
</body>

app.js

app.config(['$urlRouterProvider', '$stateProvider', '$locationProvider','RestangularProvider',
        function ($urlRouterProvider,   $stateProvider, $locationProvider, RestangularProvider ) {
            $urlRouterProvider.otherwise('/');
            $stateProvider
                .state("home", {
                    url: "/",
                    templateUrl: 'home.html',
                    controller:'homeCtrl as vm',
                    resolve: {
                        currentyear: function (Restangular, $stateParams) {
                            return Restangular.one('CurrentACYear').get();
                        }
                    }
                })
                .state("notices", {
                    url: "/notices",
                    templateUrl: 'notices.html',
                    controller:'schoolNoticesCtrl as vm',
                    resolve: {
                        notciesList: function (Restangular, $stateParams) {
                            return Restangular.one('notices').get();
                        }
                    }
                })

我的 holidayInfo() 方法在 homeCtrl 控制器中。
当我执行&lt;nav id="menu" ng-controller="homeCtrl"&gt; 时,它会抛出错误,无法解析当前年份。

【问题讨论】:

  • 你真的需要 ng-href 吗?尝试设置 href=javascript:;

标签: angularjs mmenu


【解决方案1】:

Holiday 的 href 中有 #,它正在执行作为后备 URL 的 $urlRouter.otherwise 代码。

应该留空

ng-href=""

另一件事是你没有 nav 条形包装与你编写 holidayInfo 方法的控制器范围。在那里,您可以为您的 navbar 组件添加新的控制器,并在那里拥有 holidayInfo 方法。

标记

<nav id="menu" ng-controller="navbarCtrl">
  <ul>
      <li><a ng-href="#"  ng-click="holidayInfo()">Holiday</a></li>
      <li><a ui-sref="notices">Notices</a></li>
  </ul>
</nav>

代码

app.controller('navbarCtrl', function(){
   $scope.holidayInfo = function () {
       console.log("i am trigeered ....")
   };
})

如果您仍然发现问题,请使用更多信息更新问题。

【讨论】:

  • @fresher 你看过更新的答案吗..问题不太清楚,这就是为什么我不能给出正确的答案..如果更新的答案不起作用,你能更新你的问题吗..跨度>
  • 我更新了上面的问题。仍然无法解决。
  • 猜你喜欢
    相关资源
    最近更新 更多
    热门标签