看起来有几种方法可以在Angular中定义常量。
在这个例子中,我们在主模块 config.js 中定义了两个常量:
'use strict';
angular.module('app')
.constant('URL', 'http://localhost:8080/users')
.constant('RESOURCES', (function () {
var resource = 'http://localhost:8080';
return {
USERS: resource + '/users'
}
}));
}());
我们有一个使用这些常量的工厂。 在第一种情况下,当我们想要使用"简单"常量(URL),它就像一个魅力:
var app = angular.module('app.user');
app.factory('User', ['URL', '$resource', function (URL, $resource) {
return $resource(URL + '/:id', null, {
get: {method: 'GET'}
});
}]);
但是,当我们尝试使用主要的资源常量时,如下所示:
var app = angular.module('app.user');
app.factory('User', ['RESOURCES', '$resource', function (RESOURCES, $resource) {
return $resource(RESOURCES.USERS + '/:id', null, {
get: {method: 'GET'}
});
}]);
我们收到 undefined 错误。
有什么想法吗?
答案 0 :(得分:2)
您应该对此代码有错误,请查看块的结束
app.constant('RESOURCES', (function() {
var resource = 'http://localhost:8080';
return {
USERS: resource + '/users'
}
})());