工厂

2017-05-07 48 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});