angularjs注射器无法在移动浏览器中工作

angularjs injector not working in mobile browser

本文关键字:浏览器 工作 移动 注射器 angularjs      更新时间:2023-09-26

我只在手机浏览器上收到[$injector:unpr] Unknown provider: AccountProvider <- Account <- loginCtrol http://errors.angularjs.org/1.4.9/$injector/unpr?po=AccountProvider错误。我在平板电脑和桌面浏览器上没有收到这个错误。该应用程序在桌面浏览器(chrome)上一直按预期运行。

我有以下代码结构:

/app.js
var app = angular.module('app', ['ui-router', 'controllers', 'services']);
/services.js
var services= angular.module('services', []);
/controllers.js
var controllers = angular.module('controllers', []);
/services/account.js
services.factory('Account', ['$http', function($http)
{
return {
    Login: function(username, password)
    {
       $http.post('/api/login', {username:username, password:password}).
        then(function(result){   });
    }
}
}]);
/controllers/loginCtrol.js
controllers.controller('loginCtrl', ['Account', '$scope', function(Account, $scope)
{
   $scope.login = function(username, password)
   {
       Account.Login(username, password);
    }
}]);

您以错误的方式注册了帐户服务。

你应该写:

controllers.factory('Account', ['$http', function($http)
{
return {
    Login: function(username, password)
    {
       $http.post('/api/login', {username:username, password:password}).
        then(function(result){   });
    }
}
}]);

此问题与移动web视图有关,请更新您的移动web视图以解决此类错误。如果你使用旧的移动视图,那么肯定会出现这种类型的错误。

感谢

相关文章: