我怎么能叫AngularJS功能JS​​功能 [英] How can I call AngularJS function in JS function

查看:87
本文介绍了我怎么能叫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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆