gpt4 book ai didi

javascript - AngularJS:如何在 AngularJS 中使用或注入(inject)第三方库

转载 作者:搜寻专家 更新时间:2023-11-01 05:01:17 25 4
gpt4 key购买 nike

我是 Angular 和 Deployd 的新手,想知道如何将它们结合使用。

我发现 Deployd 网站上的示例很好,但它只使用 rest API 数据,我想了解如何将 Deployd 作为 AngularJS 中的服务。例如,通过部署中可用的收集事件,使所有客户端 API 与收集的最新数据保持同步。

我想出了下面的例子,我们可以看到我正在使用 $resource 来使用其余的 api,但是在 Controller “MyCtrl”中,我正在调用 dpd,我想用它来利用 http://docs.deployd.com/docs/collections/notifying-clients.md 等功能

我真的很想看一些例子,或者任何与此相关的建议!

感谢观看:)

angular.module('questions', ['ngResource'])

.factory('Deployd', function(dpd){
return dpd;
})

.factory('EntriesService', function($resource){
return $resource('/entries', {});
})

.controller('MainCtrl', ['$scope', 'EntriesService', function($scope, EntriesService) {

$scope.title = "Q&A Module";

$scope.entries = [];

EntriesService.query(function(response){
$scope.entries = response;
});

$scope.addMessage = function() {
$scope.entries.push({
author: "myAuthor",
message: $scope.message
});

EntriesService.save({
author: "myAuthor",
message: $scope.message
});

};

dpd.comments.get(function(comments, error) {
comments.forEach(function(comment) {
console.log(comment);
});
});

}]);

最佳答案

如果您将 AngularJS 1.5+ 与 components 一起使用和 ES2015/ES6,你可以使用 constant 注入(inject)外部库.

例如,将 d3.js 注入(inject) AngularJS 组件:

首先使用 npm install d3 --save 安装 d3,然后将其导入到您的应用程序模块中,然后将其作为常量注入(inject)到您的组件中。

app.module中:

import * as d3 from 'd3';
import { MyComponent } from './my-component/my-component';

export default angular.module('app', [])
.constant('d3', d3)
.component('myComponent', MyComponent)
.name;

我的组件中:

// Controller
class MyController {
constructor(d3, $element) {
this.d3 = d3;
this.$element = $element;
}

$onInit() {
// $element is the jqLite or jQuery component's element and
// $element[0] is the DOM node element
this.d3.select(this.$element[0]).append('p').text('Hello world');
}
}

// Component
export var MyComponent = {
template: require('./my-component.html'),
controller: MyController
};

关于javascript - AngularJS:如何在 AngularJS 中使用或注入(inject)第三方库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18342059/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com