更新凉亭后错误工厂无法正常工作
Error Factory Not Function after update bower
我在 bower 中更新和删除插件后,我的应用出现此错误。
angular.js:14516 TypeError: starterFactory.loginRawUser(...).success is not a function
at ChildScope.$scope.loginRawuser (starterController.js:51)
at fn (eval at compile (angular.js:15351), <anonymous>:4:226)
at callback (angular.js:26969)
at ChildScope.$eval (angular.js:18172)
at ChildScope.$apply (angular.js:18272)
at HTMLButtonElement.<anonymous> (angular.js:26974)
at HTMLButtonElement.dispatch (jquery.js:5201)
at HTMLButtonElement.elemData.handle (jquery.js:5009)
(anonymous) @ angular.js:14516
(anonymous) @ angular.js:11004
$apply @ angular.js:18277
(anonymous) @ angular.js:26974
dispatch @ jquery.js:5201
elemData.handle @ jquery.js:5009
好像factory出错了,不过之前没问题,运行还好。
我想安装 angular-material 但是它有冲突所以我更新并删除了一些插件。
这里是更新前的bower.json。
{
"name": "myapp",
"version": "0.0.0",
"dependencies": {
"angular": "^1.4.0",
"bootstrap": "^3.2.0",
"angular-route": "^1.4.0",
"angular-sanitize": "^1.4.0",
"angular-touch": "^1.4.0",
"angular-ui-router": "0.3.1",
"oclazyload": "^1.0.9",
"bootstrap-switch": "^3.3.2",
"components-font-awesome": "^4.6.3",
"simple-line-icons": "^2.3.2",
"angular-password": "^1.0.3",
"angular-md5": "^0.1.10",
"angular-ui-notification": "^0.2.0",
"angular-loading-bar": "^0.9.0",
"ng-file-upload": "^12.2.9",
"ng-img-crop": "ngImgCrop#^0.3.2",
"angular-socket-io": "^0.7.0",
"angular-smart-table": "^2.1.8",
"smart-table-sticky-header": "st-sticky-header#^1.0.1",
"angular-simple-logger": "^0.1.7",
"ui-leaflet": "^2.0.0",
"angu-complete": "^2.4.2",
"fullcalendar": "^3.2.0",
"jquery-ui": "^1.12.1"
},
"devDependencies": {
"angular-mocks": "^1.4.0"
},
"appPath": "app",
"moduleName": "Yeoman",
"overrides": {
"bootstrap": {
"main": [
"less/bootstrap.less",
"dist/css/bootstrap.css",
"dist/js/bootstrap.js"
]
}
}
}
这里 bower.json 更新后。
{
"name": "myapp",
"version": "0.0.0",
"dependencies": {
"angular": "^1.6.3",
"bootstrap": "^3.3.7",
"angular-touch": "^1.6.3",
"angular-sanitize": "^1.6.3",
"angular-ui-router": "ui-router#^0.4.2",
"components-font-awesome": "^4.7.0",
"simple-line-icons": "^2.4.1",
"angular-password": "^1.0.3",
"angular-md5": "^0.1.10",
"angular-ui-notification": "^0.3.6",
"angular-loading-bar": "^0.9.0",
"ng-file-upload": "^12.2.13",
"ng-img-crop": "^0.3.2",
"angular-socket-io": "^0.7.0",
"angular-smart-table": "^2.1.8",
"angular-simple-logger": "^0.1.7",
"angu-complete": "^2.4.2",
"angular-material": "^1.1.3"
},
"devDependencies": {
"angular-mocks": "^1.6.3"
},
"appPath": "app",
"moduleName": "Yeoman",
"overrides": {
"bootstrap": {
"main": [
"less/bootstrap.less",
"dist/css/bootstrap.css",
"dist/js/bootstrap.js"
]
}
}
}
我没有备份所以我会尝试使用旧代码 bower.json 但是,凉亭说
bower ECONFLICT Unable to find suitable version for angular
还有更多的 ECONFLICT 改造后的凉亭。
我尝试谷歌搜索但找不到解决方案,有没有人可以解决这个问题。?
谢谢
显示 .success 不是函数的错误
尝试改用 .then
如果您有返回给控制器的承诺,则使用
starterFactory.loginRawUser(...).then(function (response) {
//returned response
}, function (error) {
//returned error
});
如果没有,您需要调用 $promise 对象的 then
方法:
starterFactory.loginRawUser(...).$promise.then(function (response) {
//returned response
}, function (error) {
//returned error
});
关于bower.json,您可以获得Angular 1.6.3,因为目前它是Angular 1 的最新版本,只需删除^
:
"angular": "1.6.3"
我在 bower 中更新和删除插件后,我的应用出现此错误。
angular.js:14516 TypeError: starterFactory.loginRawUser(...).success is not a function
at ChildScope.$scope.loginRawuser (starterController.js:51)
at fn (eval at compile (angular.js:15351), <anonymous>:4:226)
at callback (angular.js:26969)
at ChildScope.$eval (angular.js:18172)
at ChildScope.$apply (angular.js:18272)
at HTMLButtonElement.<anonymous> (angular.js:26974)
at HTMLButtonElement.dispatch (jquery.js:5201)
at HTMLButtonElement.elemData.handle (jquery.js:5009)
(anonymous) @ angular.js:14516
(anonymous) @ angular.js:11004
$apply @ angular.js:18277
(anonymous) @ angular.js:26974
dispatch @ jquery.js:5201
elemData.handle @ jquery.js:5009
好像factory出错了,不过之前没问题,运行还好。
我想安装 angular-material 但是它有冲突所以我更新并删除了一些插件。
这里是更新前的bower.json。
{
"name": "myapp",
"version": "0.0.0",
"dependencies": {
"angular": "^1.4.0",
"bootstrap": "^3.2.0",
"angular-route": "^1.4.0",
"angular-sanitize": "^1.4.0",
"angular-touch": "^1.4.0",
"angular-ui-router": "0.3.1",
"oclazyload": "^1.0.9",
"bootstrap-switch": "^3.3.2",
"components-font-awesome": "^4.6.3",
"simple-line-icons": "^2.3.2",
"angular-password": "^1.0.3",
"angular-md5": "^0.1.10",
"angular-ui-notification": "^0.2.0",
"angular-loading-bar": "^0.9.0",
"ng-file-upload": "^12.2.9",
"ng-img-crop": "ngImgCrop#^0.3.2",
"angular-socket-io": "^0.7.0",
"angular-smart-table": "^2.1.8",
"smart-table-sticky-header": "st-sticky-header#^1.0.1",
"angular-simple-logger": "^0.1.7",
"ui-leaflet": "^2.0.0",
"angu-complete": "^2.4.2",
"fullcalendar": "^3.2.0",
"jquery-ui": "^1.12.1"
},
"devDependencies": {
"angular-mocks": "^1.4.0"
},
"appPath": "app",
"moduleName": "Yeoman",
"overrides": {
"bootstrap": {
"main": [
"less/bootstrap.less",
"dist/css/bootstrap.css",
"dist/js/bootstrap.js"
]
}
}
}
这里 bower.json 更新后。
{
"name": "myapp",
"version": "0.0.0",
"dependencies": {
"angular": "^1.6.3",
"bootstrap": "^3.3.7",
"angular-touch": "^1.6.3",
"angular-sanitize": "^1.6.3",
"angular-ui-router": "ui-router#^0.4.2",
"components-font-awesome": "^4.7.0",
"simple-line-icons": "^2.4.1",
"angular-password": "^1.0.3",
"angular-md5": "^0.1.10",
"angular-ui-notification": "^0.3.6",
"angular-loading-bar": "^0.9.0",
"ng-file-upload": "^12.2.13",
"ng-img-crop": "^0.3.2",
"angular-socket-io": "^0.7.0",
"angular-smart-table": "^2.1.8",
"angular-simple-logger": "^0.1.7",
"angu-complete": "^2.4.2",
"angular-material": "^1.1.3"
},
"devDependencies": {
"angular-mocks": "^1.6.3"
},
"appPath": "app",
"moduleName": "Yeoman",
"overrides": {
"bootstrap": {
"main": [
"less/bootstrap.less",
"dist/css/bootstrap.css",
"dist/js/bootstrap.js"
]
}
}
}
我没有备份所以我会尝试使用旧代码 bower.json 但是,凉亭说
bower ECONFLICT Unable to find suitable version for angular
还有更多的 ECONFLICT 改造后的凉亭。
我尝试谷歌搜索但找不到解决方案,有没有人可以解决这个问题。? 谢谢
显示 .success 不是函数的错误
尝试改用 .then
如果您有返回给控制器的承诺,则使用
starterFactory.loginRawUser(...).then(function (response) {
//returned response
}, function (error) {
//returned error
});
如果没有,您需要调用 $promise 对象的 then
方法:
starterFactory.loginRawUser(...).$promise.then(function (response) {
//returned response
}, function (error) {
//returned error
});
关于bower.json,您可以获得Angular 1.6.3,因为目前它是Angular 1 的最新版本,只需删除^
:
"angular": "1.6.3"