我在初始化一个全局变量时会遇到一些问题,以便在mycontroller的所有函数中使用:
这是我到目前为止所做的:
JS :
$scope.init = function (table) {
alert("alert 1 : " + table);
$scope.tableName = table;
alert($scope.tableName);
};
tableName = $scope.tableName;
alert("alert 2 : " + tableName);
HTML :
<div ng-init="init('RIGHTTABLE')" ng-controller="DropdownCaptionCtrl">
我的浏览器上有这个订单的警告:
警告2:未定义
警告1:RIGHTTABLE
您有任何想法解决此问题吗?
我想要的是按此顺序发出警报:
警告1:RIGHTTABLE
警告2:RIGHTTABLE
实际上我希望在我的所有控制器功能中使用全局变量$scope.tableName
,我想在页面启动时对其进行初始化
谢谢
答案 0 :(得分:1)
由于控制器最初被加载,因此在将变量设置为未定义之后会调用init函数,您可以做的是
$scope.init = function (table) {
alert("alert 1 : " + table);
$scope.tableName = table;
alert($scope.tableName);
alert("alert 2 : " + $scope.tableName);
};
<强>更新强>
如果您想在所有控制器中使用该变量,请转到Service
其他选项是使用$ rootScope,
$scope.init = function (table) {
alert("alert 1 : " + table);
$rootScope.tableName = table;
alert($rootScope.tableName);
alert("alert 2 : " + $rootScope.tableName);
};
然后,您将可以使用$rootScope.tableName