ng-click не работает с mmenu
Я пытаюсь использовать меню 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.
Когда я делаю <nav id="menu" ng-controller="homeCtrl">
он выдает ошибку, не может решить текущий год.
1 ответ
Ты имел #
в href of Holiday
который выполняет $urlRouter.otherwise
код, который является резервным URL.
Должно быть пустым
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 ....")
};
})
Обновите вопрос, добавив дополнительную информацию, если вы все еще нашли проблему.