工廠

2017-05-07 50 views
0
var app = angular.module('part3', []); 
app.controller('Part3Controller' ,function ($scope) { 
    $scope.Message1 = "apek"; 
    $scope.IsLogedIn = false; 
    $scope.Message = ''; 
    $scope.Submitted = false; 
    $scope.IsFormValid = false; 
    $scope.LoginData = { 

     UserName: '', 
     Password: '' 
    }; 
    $scope.$watch('f1.$valid', function (newVal) { 
     $scope.IsFormValid = newVal; 
    }); 

    $scope.Login = function() { 

     $scope.Submitted = true; 

     if ($scope.IsFormValid) { 
      alert("eeeeee") 
      alert("dsds") 
      serv.GetUser($scope.LoginData).then(function (d) { 
       alert("dsdsdfsdfs"); 
       if (d.data.UserName != null) { 
        alert("he;llo1"); 
        $scope.IsLoggedIn = true; 
        $scope.Message = "Successfully Login" + d.data.FullName; 
       } 
       else { 

        alert("Invalid Credential") 
       } 
      }) 
     } 
    } 



}) 

app.factory('serv', function ($http) { 
    alert("helloo"); 
    var fac = {}; 
    fac.GetUser = function (d) { 
     $scope.Submitted = true; 
     return $http({ 

      url: '/Data/UserLogin', 
      method: 'POST', 
      data: JSON.stringify(d), 
      header: { 'content-type': 'application/json' } 
     }); 
    }; 
    return fac; 
}); 

我上面的代碼寫入用於登錄功能在我的應用程序,但它不是主叫工廠「SERV」其表示錯誤「angular.min.js:92的ReferenceError:SERV沒有定義」工廠

「angular.min.js:92的ReferenceError:SERV沒有定義」

回答

0

必要時要使用一個工廠或Servi大街serv工廠注入到控制器

controller('Part3Controller' ,function ($scope,serv) { 
+0

它仍然不執行「URL:‘/數據/用戶登陸’,」用戶登陸功能DataController類在MVC –

+0

顯示工廠密碼 –

+0

.factory(「login服務」,功能($ HTTP){ 警報( 「helloo」); VAR FAC = {}; fac.GetUser =功能(d,E){ $ scope.Submitted = TRUE; 回報$ HTTP({ 網址:'/ Data/UserLogin', 方法:'POST', data:JSON.stringify(d), header:{'content-typ e':'application/json'} }); alert(4) }; return fac; }); –

3

與控制器角度,你需要注入他們。我們有:
app.factory('name_of_factory', factory_function);
和控制器:
app.controller('name_of_controller', controller_function($scope,factory_name_you_want_to_use) { //blah blah });
這是一些解釋,你只需要與控制器注入工廠的名稱。控制器JS看起來像這樣

app.controller('Part3Controller' ,function ($scope,serv){//yourcode});