Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs $scope.statusMessage未定义_Angularjs - Fatal编程技术网

Angularjs $scope.statusMessage未定义

Angularjs $scope.statusMessage未定义,angularjs,Angularjs,无法读取undefined的属性“statusMessage”,这是我在将$rootScope更改为$scope时遇到的错误。我只想将$scope.statusMessage设置为工厂的结果,以便将其绑定到html。你能指出我哪里弄错了吗。多谢各位 将您的服务更改为: angular.module("MainLogin.controller", []) // ========= Controllers .controller("LogInController", function($scope

无法读取undefined的属性“statusMessage”,这是我在将$rootScope更改为$scope时遇到的错误。我只想将$scope.statusMessage设置为工厂的结果,以便将其绑定到html。你能指出我哪里弄错了吗。多谢各位

将您的服务更改为:

angular.module("MainLogin.controller", [])

// ========= Controllers
.controller("LogInController", function($scope) {



})

.controller("CreateAccountController", function ($scope, $rootScope, createAccountService) {
        $rootScope.statusMessage = null;

        $scope.ActionCreateAccount = function () {
        $scope.statusMessage = createAccountService.createAccount($scope.createAccount);
        console.log($scope.statusMessage);
    }
})
// <======== Controllers

// ========= Factories
.factory("createAccountService",["$http", function($http, $scope) {
    var fac = {};

    fac.createAccount = function (accountDetail) {
        return $http({
            url: '/Account/CreateAccount',
            data: { account: accountDetail },
            method: 'post'
        })
        .then(function (response) {
            debugger;
            if (response.data.status == "1") {
                $scope.statusMessage = "Successfully created the account"
                alert($scope.statusMessage);
            } else {
                $scope.statusMessage = response.data.status
                alert($scope.statusMessage);
            }
        })
    }


    return fac;
}])
和您的控制器:

.factory("createAccountService",["$http", function($http, $scope) {
   var fac = {};

   fac.createAccount = function (accountDetail) {
      return $http({
        url: '/Account/CreateAccount',
        data: { account: accountDetail },
        method: 'post'
      });
   }
   return fac;
 }])

非常感谢。成功了。为什么我可以在工厂中提醒response.data.status,但我无法通过它?
.controller("CreateAccountController", function ($scope, $rootScope, createAccountService) {
    $scope.statusMessage = null;

    $scope.ActionCreateAccount = function () {
      createAccountService.createAccount($scope.createAccount)
        .then(function(response){
          if (response.data.status == "1") {
              $scope.statusMessage = "Successfully created the account"
              alert($scope.statusMessage);
          } else {
              $scope.statusMessage = response.data.status
              alert($scope.statusMessage);
          }
        console.log($scope.statusMessage);
    });
}})