У меня есть один вид, где я обращаюсь к переменным области видимости от функции углового контроллера.
$scope.getCurrentTab = function (tab) {
$scope.yourReportEnabled = (tab === 'REPORTS');
$scope.currentTab = tab;
}
в представлении у меня есть два якоря, по клику которых я вызываю getCurrentTab()
, передавая имя вкладки в качестве параметра.
Здесь область - переменные, определенные в функции getCurrentTab, которые будут инициализированы только при вызове функции.
Но если я определяю эти переменные за пределами функции, они gets initialized multiple times
.
Итак, есть способ определить variables only once
области видимости variables only once
которые будут изменены только функцией getCurrentTab
.
Заранее спасибо!
Если вы знакомы с $routeProvider
, вот простой способ выполнить ту же задачу.
JS
angular.module('ForeverLeather').config(['$routeProvider', function($routeProvider) {
$routeProvider
.when('/home', {
templateUrl: 'js/views/home/index.html',
activetab: 'home'
})
}]);
HTML
<li class="nav-home">
<a id="home-btn" href="#/home" name="home-btn" ng-class="{active: $route.current.activetab == 'home'}">Home</a>
</li>
с помощью ng-класса, чтобы определить, какая вкладка активна