【问题标题】:Global variable in angularjsangularjs中的全局变量
【发布时间】:2016-02-13 19:48:33
【问题描述】:

我正在寻找一种在 angularjs 函数中使用全局变量的方法。

我找到了这种方式,将全局变量用作角度变量:

var AppSettings = angular.module('settingsApp', []);
AppSettings.controller('settingsCtrl', ['$scope', '$window', function($scope, $window) {

   $scope.sessionUID = $window.sessionUID;

 /** function to update user details after edit from list of user php **/
    $scope.changefunction = function() {
                    alert("perfect");
    };

}]);
var MyApp = angular.module('biqs_settings_app', ['settingsApp']);

但现在我无法运行“changefunction”。

错误:

TypeError: Cannot read property '0' of null
    at $parseFunctionCall (angular.js:12346)
    at callback (angular.js:21435)
    at Scope.$eval (angular.js:14401)
    at Scope.$apply (angular.js:14500)
    at HTMLButtonElement.<anonymous> (angular.js:21440)
    at HTMLButtonElement.eventHandler (angular.js:3014)

我做错了什么?

【问题讨论】:

  • 控制台报错了吗?
  • 使用 gobal var 通常不是一个好主意。为什么要使用全局变量?你能解释得更好吗?
  • 我正在检查 sessionvariable 作为 var 让登录的用户更改他的密码。
  • 错误说你在搞乱HTML,你能显示一个HTML吗?
  • 看起来我为我的表单和函数使用了相同的名称。这就是为什么。但现在我得到了“ReferenceError: $http is not defined”,我在我的函数中使用。

标签: javascript angularjs variables controller var


【解决方案1】:

如果您在 HTML 中正确使用 settingsCtrl 控制器,一切都会正常工作:

<div ng-app="biqs_settings_app" ng-controller="settingsCtrl">
    <button ng-click="changefunction()">Test</button>
</div>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-20
    • 2016-11-18
    • 2014-10-18
    • 1970-01-01
    相关资源
    最近更新 更多