Javascript 带角度JS的PapaParse
喜欢漂亮的CSV解析器&PapaParse的解析程序。有人能帮我把这个和Angular JS结合起来吗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
我喜欢以有角度的方式工作。正在尝试解决方案。只需使用前端模块化工具,如
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);
}
});