2015-11-02 64 views
0

我的角度定義了一個複選框,這樣的:複選框中的角問題

<input type="checkbox" id="rememberMe" name="rememberMe" ng-model="model.rememberMe" value="1" /> 

,並在我的controller我有:

app.controller('loginController', function ($http, $scope) { 

    $scope.login = function() { 
     $scope.model.rememberMe = $scope.rememberMe == undefined ? false : true;  
     $http.post("/Accounts/UserLogin", $scope.model).success(function (response) { 
      $scope.message = response; 
     }); 
    } 
}); 

但在控制檯中我有一個錯誤:Cannot set property 'rememberMe' of undefined,什麼是問題?

+1

硬猜你沒有定義'$ scope.model' – Michael

回答

2

不能直接定義

$scope.model.rememberMe 
//$scope.model is not defined (=undefined), therefore you get : 
//Cannot set property 'rememberMe' of undefined 

你要做的

$scope.model = {}; //define object "model" 
$scope.model.rememberMe = ... //set property rememberMe of "model" 
0

我認爲你的控制器應該是:

app.controller('loginController', function ($http, $scope) { 
    $scope.model = { rememberMe: false }; 
    $scope.login = function() { 
     $scope.model.rememberMe = $scope.rememberMe == undefined ? false : true;  
     $http.post("/Accounts/UserLogin", $scope.model).success(function (response) { 
      $scope.message = response; 
     }); 
    } 
}); 

我希望這幫助。

0

也許你忘了聲明$ scope.model。

第一:

$ scope.model = {};

後:

$ scope.model.rememberMe = $ scope.rememberMe ==未定義?假:真;