将外部文件与AngularJs集成

Integrating external files with AngularJs

本文关键字:AngularJs 集成 文件 外部      更新时间:2023-09-26

我刚刚开始使用AngularJs。我需要使用SunCalc模块来计算我的应用程序的太阳位置。我不知道如何将文件集成到应用程序中,也不知道如何在尊重AngularJs结构的同时访问他的不同功能。文件放在哪里?如何调用函数?等等。

这里有一个链接,您可以快速查看SunCalc模块的结构,并希望对我有所帮助。https://github.com/mourner/suncalc/blob/master/suncalc.js

非常感谢你的帮助!

由于这个库使用一堆方法公开全局SunCalc对象,所以您可以简单地将这个库封装到自定义服务中。

app.factory('SunCalc', function() {
    return window.SunCalc;
});

然后你可以在控制器中这样使用它:

app.controller('MainCtrl', function($scope, SunCalc) {
    $scope.position = SunCalc.getTimes(new Date(), 52.3667, 4.9000);
});

在这种情况下,您可以在不干扰原始库的情况下向该服务添加自己的方法。

请注意,从技术上讲,您可以使用全局可访问的SunCalc,而无需为此再创建一个服务。然而,使用服务提供了sertain的优势:你可以很容易地重命名它,它允许展示原始库API,使用全局变量error-prone等

还记得在Angular脚本标记之前包含脚本标记。

演示:http://plnkr.co/edit/rbATLGfGE2kx32tmEEoX?p=preview