Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 带角度JS的PapaParse_Javascript_Angularjs_Csv_Papaparse - Fatal编程技术网

Javascript 带角度JS的PapaParse

Javascript 带角度JS的PapaParse,javascript,angularjs,csv,papaparse,Javascript,Angularjs,Csv,Papaparse,喜欢漂亮的CSV解析器&PapaParse的解析程序。有人能帮我把这个和Angular JS结合起来吗 我喜欢以有角度的方式工作。正在尝试解决方案。只需使用前端模块化工具,如requirejs在上下文中加载papaParser,并在任何控制器或服务中调用api。您可以使用value提供自包含的第三方库 angular.module('your.app') .value('yourLib', yourLib); 然后在您的控制器或服务中,您可以使用DI以正常的方式将其引入 angular

喜欢漂亮的CSV解析器&PapaParse的解析程序。有人能帮我把这个和Angular JS结合起来吗


我喜欢以有角度的方式工作。正在尝试解决方案。

只需使用前端模块化工具,如
requirejs
在上下文中加载papaParser,并在任何控制器或服务中调用api。

您可以使用
value
提供自包含的第三方库

angular.module('your.app')
    .value('yourLib', yourLib);
然后在您的控制器或服务中,您可以使用DI以正常的方式将其引入

angular.module('your.app')
    .controller('YourController', YourController);

YourController.$inject = ['yourLib'];
function YourController(yourLib) {

   //. . .  
} 
如果第三方行是一个构造函数,需要对其进行更新,则可能需要创建一个工厂或提供程序,该工厂或提供程序具有一个方法,该方法接受将参数传递给构造函数并返回一个新实例

编辑


查看PapaParse后,您可能希望使用
将其注册到角度注入器

实际上,我没有做任何想加载它的事情。只需将它添加到html文件和我的lib文件夹中。在我的例子中:/lib/papaparse.min.js

和index.html。一如往常的脚本:

<script src="lib/papaparse.min.js"></script>
只需
index.html
中插入脚本
url,然后在控制器中,以-
var Papa=window.Papa的身份访问脚本。就这样!你准备好采取进一步行动了


你能进一步澄清一下吗。通常,您可以将任何第三方lib转换为angular服务,以便轻松地注入angular上下文。在控制器中调用lib是好的还是需要一个导入文件的指令。我对许多其他事情感到困惑,我更愿意在控制器中直接使用它,指令主要用于您希望DOM createdI完成我的应用程序时,只是为了csv导入,我已经需要PapaParse,所以我不喜欢添加新工具。不管怎样,谢谢。我同意你的看法。对于一个例子(fiddle)@felix会很有帮助,不幸的是Papaparse没有以正确的MIME类型托管在任何地方——Stackoverflow、Plunkr和Jsfiddle要求libs具有正确的MIME.noprops,我在SO@felix中得到了另一个库的类似示例,是的,这种方法是相同的。唯一的区别是他使用的是工厂而不是价值。Value是一种更轻的方法,但两者都做相同的事情。它现在托管在以下cdn上:除非您需要存根或模拟解析以进行控制器的单元测试,否则这种方法可以正常工作。您不想陷入在测试设置中进行猴子补丁的情况。
Papa.parse(data, {
    complete: function(results) {
        console.log("Finished:", results.data);
    }
});