gpt4 book ai didi

javascript - 工厂未在 Angular JS 中定义

转载 作者:行者123 更新时间:2023-11-28 14:53:11 25 4
gpt4 key购买 nike

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未定义”

最佳答案

当你想使用带有 Angular Controller 的工厂或服务时,你需要将其注入(inject)。我们有:
app.factory('name_of_factory',factory_function);
和 Controller :
app.controller('name_of_controller',controller_function($scope,factory_name_you_want_to_use) {//blah blah });
这是一些解释,您只需使用 Controller 注入(inject)工厂名称。您的 Controller JS 将如下所示:

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

关于javascript - 工厂未在 Angular JS 中定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43831455/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com