我怎么能叫AngularJS功能JS功能 [英] How can I call AngularJS function in JS function
本文介绍了我怎么能叫AngularJS功能JS功能的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这是与angularjs第一互动。这是第一次。我怎么能调用函数,现在得到另一个controlers的项目?
我加载使用AngularJS CSV文件
VAR Mymodule中= angular.module('Mymodule中',[]);
Mymodule.factory('项目',['$ HTTP',函数($ HTTP){
VAR URL =数据/ ex.csv
VAR项目= $ http.get(URL)。然后(功能(响应){
返回csvParser(response.data);
});
返回的项目;
}]);
我需要返回的值上做我有一些数据过滤?
函数doSomethingWithRows(行){
//Mymodule.Items
//如何在这里调用数据。
}
更新
基于第一个答案
<脚本>
VAR Mymodule中= angular.module('Mymodule中',[]);
Mymodule.factory('项目',['$ HTTP',函数($ HTTP){
VAR URL =数据/ ex.csv
VAR项目= $ http.get(URL)。然后(功能(响应){
返回csvParser(response.data);
});
返回的项目;
}]); 变量$ =喷油angular.injector();
$ injector.invoke(['物品',函数(项目){执行console.log(项目)}]);
< / SCRIPT>
错误:
未捕获的错误:未知提供商:ItemsProvider< - 物品
解决方案
我会延长你的工厂,所以你可以调用一个函数来获得满意的结果。
Mymodule.factory('项目',[
$ HTTP,
功能($ HTTP){
VAR的项目; this.loadItems =功能loadItems(){
VAR URL =数据/ ex.csv
$ http.get(URL)。然后(功能(响应){
项目= csvParser(response.data);
});
} this.returnItems =功能returnItems(){
返回的项目;
}
}]);
然后在你的控制器:
Mymodule.controller(控制器,[
项目,
功能(项){
Items.loadItems(); 功能doSomethingWithRows(行){
变种项= Items.returnItems();
}
}
]);
This is the first interaction with angularjs. it's first time. how can I call the function and get the items now in another controlers ?
I am loading CSV file using AngularJS
var Mymodule = angular.module('Mymodule', []);
Mymodule.factory('Items', ['$http', function($http){
var Url = "data/ex.csv";
var Items = $http.get(Url).then(function(response){
return csvParser(response.data);
});
return Items;
}]);
I need to get returned values to do some filtering on the data I have ?
function doSomethingWithRows(rows) {
//Mymodule.Items
// How to call data here.
}
UPDATE Based on first answer
<script>
var Mymodule = angular.module('Mymodule', []);
Mymodule.factory('Items', ['$http', function($http){
var Url = "data/ex.csv";
var Items = $http.get(Url).then(function(response){
return csvParser(response.data);
});
return Items;
}]);
var $injector = angular.injector();
$injector.invoke(['Items', function(Items){ console.log(Items) }]);
</script>
error:
Uncaught Error: Unknown provider: ItemsProvider <- Items
解决方案
I would extend your factory so you can call a function to get the results.
Mymodule.factory('Items', [
'$http',
function($http){
var Items;
this.loadItems = function loadItems() {
var Url = "data/ex.csv";
$http.get(Url).then(function(response){
Items = csvParser(response.data);
});
}
this.returnItems = function returnItems() {
return Items;
}
}]);
Then in your controller:
Mymodule.controller("Controller", [
"Items",
function(Items){
Items.loadItems();
function doSomethingWithRows(rows) {
var items = Items.returnItems();
}
}
]);
这篇关于我怎么能叫AngularJS功能JS功能的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文