私は角度でD3.jsを統合しようとしてきたが、このチュートリアルの次のです: http://www.ng-newsletter.com/posts/d3-on-angular.htmlAngularJS:指示にサービスを注入しますか?
チュートリアルでは、d3Service
が含まれているD3モジュールを作成し、それをディレクティブに注入します。私のアプリは少し構造が異なりますが、d3サービスを注入しようとすると、link
の指示にundefined
と表示されます。私は問題なしで私のコントローラにd3サービスを注入できます。ここで私がやっているものです:
app.js
:
var sentimentAppServices = angular.module('sentimentAppServices', ['ngResource'])
// other services
.factory('d3', [function(){
var d3;
d3 = // d3 library code here
return d3;
}]);
directives.js
中:
var sentimentAppDirectives = angular.module('sentimentAppDirectives', ['sentimentAppServices']);
sentimentAppDirectives.directive('lsPieChart', ['d3', function($compile, d3){
return {
// scope & template
link: function($scope, elem, attr, ctrl) {
console.log(d3); // undefined
}
}
var sentimentApp = angular.module('sentimentApp', [
'ngRoute',
'ngSanitize',
'sentimentAppServices',
'sentimentAppDirectives',
'sentimentAppControllers'
]);
services.js
の中で、私はの一つはD3である、いくつかのサービスを持っています
ヒント?ありがとう。
自動的に行われるように、ngmin utilitiy(縮小前に行う場合)を使用する場合、これは常に必要ではないことに注意してください。これは、誤って件名に記載されているような同様の問題に遭遇する可能性があるので、メンテナンスを簡単にすることができます。 –
もちろん!ありがとうございました。 – bjudson