2015-08-28 2 views
1

Я новичок в angularjs, я впрыснуть d3 в main.js следующим образом:Как вводить зависимость d3?

 function (angular) { 
      'use strict'; 

     angular.module('main', ['ngFileUpload', 'ngCookies', 'ui.router', 'd3']) 
     .constant('_', window._); 

     })(window.angular); 

, но я получаю сообщение об ошибке:

 Uncaught Error: [$injector:modulerr] 
     Failed to instantiate module main due to: 
      Error: [$injector:modulerr] Failed to instantiate module d3 due to: 
     Error: [$injector:nomod] Module 'd3' is not available! You either    misspelled the module name or forgot to load it. If registering a module ensure    that you specify the dependencies as the second argument. 
+0

является d3 вашей угловой директива? или просто файл lib js? –

+1

просто добавьте lib в свой индекс d3 не является угловой директивой или модулем, вы не можете добавить этот способ, но если у вас есть js, вы можете использовать d3 в своем контроллере –

ответ

2

Если вы используете обычную библиотеку d3 вы не вводить угловые зависимости ,

<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.6/d3.min.js" charset="utf-8"></script> 

Вы можете использовать d3.js угловых директивы или d3 "обертки" угловые директивы, я рекомендую вам:

+0

no Я использую d3.js – Hassan

+0

Тогда вам не нужно вводить 'd3 'в вашем угловом модуле. Вам просто нужно импортировать скрипт d3.min.js в свой index.html, и вы можете называть функции d3.js всюду. –

+0

@IvanCoronado, я ввел его, и эта служба также добавляет сценарий выше в DOM и возвращает обещание с необработанным объектом D3 при загрузке скрипта. Разве это не гарантирует, что D3 готов к использованию, если вы зависите от глобального объекта D3, который он еще не вытащил? – mtpultz

Смежные вопросы