我有$http
,但()
未定义。我以为DI会为我定义它。
我做错了什么?我对Angular有什么根本的误解呢?
额外的parens URL
导致在配置阶段调用函数我猜。但是angular.module('myApp').factory('Test',['$http'],
{
URL: (function ($http) {
$http.get('http:www.myserver.com/api/thing').then(function (response) { });
})() // extra parens makes the function run right off the bat
}
);
是我想要的整个应用程序的属性。
struct student
{
int name;
int address;
void speak()
{
/* code */
}
};
int main()
{
//code ..
student.speak();
}
我该如何解决?
答案 0 :(得分:1)
这种语法看起来不太合适。试试这样的事情
angular.module('myApp').factory('Test',['$http', function($http) {
}]);
答案 1 :(得分:1)
您的工厂定义错误。使用你拥有的内联依赖注入样式,第二个参数应该是一个数组,其最后一个元素是消耗先前依赖项的函数
angular
.module('myApp')
.factory('Test', ['$http', function ($http) {
//return an object that represents your service's API
return {
URL: function () {
$http.get('http:www.myserver.com/api/thing').then(function (response) { });
} //pass the actual function to invoke later
};
}]);
答案 2 :(得分:0)
我认为你的语法错误,应该是:
angular.module('myApp').factory('Test',['$http',function($http){
return {
URL: function () {
$http.get('http:www.myserver.com/api/thing').then(function (response) { });
} //pass the actual function to invoke later
};
}]);