Это моя разметка
<div class="container" ng-app="app">
<header ng-include="'templates/nav.html'"></header>
<div ui-view></div>
<footer></footer>
</div>
Здесь nav.html
не является view
и не имеет ссылки на какой-либо контроллер. В этом случае, если мне нужно выполнить некоторую функцию по ng-click
кнопки в nav.html
, где я должен написать этот метод? Должно ли это быть в rootScope
? Не уверен, я могу ошибаться.
Пожалуйста, направляйте в правильном направлении.
Вы можете объявить контроллер в своем nav.html следующим образом:
<div ng-controller="myController">
...
</div>
Объявите контроллер следующим образом:
var module = angular.module('app');
module.controller('myController', myController);
function myController($scope) {
//Write function here
}
<div class="container" ng-app="app">
<my-header> </my-header>
<div ui-view></div>
<footer></footer>
</div>
//JS
//Previous code
.directive('myHeader', function(){
return {
templateUrl : 'templates/nav.html',
controller : [function(){
//Here you are
}]
};
});
ng-include
d с контроллером.