如何在angularJS中初始化控制器$scope变量

How to initialize the controller $scope variables in angularJS

本文关键字:控制器 scope 变量 初始化 angularJS      更新时间:2023-09-26

我有一个视图,我从一个角控制器函数访问范围变量。

$scope.getCurrentTab = function (tab) {
 $scope.yourReportEnabled = (tab === 'REPORTS');
 $scope.currentTab = tab;
}

在视图中,我有两个锚点点击,我通过传递选项卡名称作为参数来调用getCurrentTab()

这里的作用域是函数getCurrentTab中定义的变量,这些变量只会在函数调用时初始化。

但是如果我在函数外定义这些变量这些gets initialized multiple times

那么是否有一种方法来定义范围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-class来确定哪个TAB是活动的