2016-03-19 16 views
1

Merhaba ve afedersiniz ingilizcem. Ben Açısal js (şu anda 1.4 sürümü ile öğrenme) için acemiyim ve böyle iki modülde başvurumu ayırmak istiyorum:Angular js içinde farklı dosyalarda birden çok modülle çalışma

Benim sorun budur

(function(){ 
var app = angular.module('store', ['store-products', 'ngAnimate', 'ui.bootstrap']); 



    app.controller('StoreController', function(){ 
     ... 
     }); 

    app.controller('ReviewController', function(){ 
     ... 
     }; 

     this.rateOnClick = function(){ 
      ... 
     }; 

     this.addReview = function(product){ 
      ... 
     }; 
     }); 


    . 
    . 
    . 
})(); 
app.js

products.js

(function(){ 

    var app = angular.module('store-products', []); 

    app.directive('productTitle', function(){ 
      ... 
     }); 

    app.directive('productPanels', function(){ 
      ... 

     }); 
})(); 

index.html

<html> 
    <head> 
    <title>My Angular App!</title> 
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.9/angular.js"></script> 
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.9/angular-animate.js"></script> 
    <script src="http://angular-ui.github.io/bootstrap/ui-bootstrap-tpls-1.2.4.js"></script> 
    <link href="styles.css" rel="stylesheet"> 
    <link href="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css" rel="stylesheet"> 
    <script src="app.js"></script> 
    <script src"products.js"></script> 
... 
</html> 

Tüm dosyalarım aynı klasörde.

Uncaught Error: [$injector:modulerr] Failed to instantiate module store due to: 
Error: [$injector:modulerr] Failed to instantiate module store-products due to: 
Error: [$injector:nomod] Module 'store-products' 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. 

dışarı someon rakam bu neden oluyor edilemez: app.js yüzden bildiğim kadarıyla gayet içerir anlıyorum ama yine de hata almaya, birincil modüldür?

+0

Eğer uygulama adını demek istiyorsunuz:

<script src"products.js"></script> 

böyle Sabit? –

+0

Bu yardımcı olabilir: http://www.codeproject.com/Articles/862602/Define-multiple-Angular-apps-in-one-page –

cevap

1

LOL, sorun çizgisi oldu orada :

<script src="products.js"></script> 
0

Ürün komut dosyanızı uygulama komut dosyanızdan önce eklemeniz gerekir.

+0

Siparişi tersine çevirdim, aynı hata –

+0

Bu sorununuzu çözmüş olmalıydı. Konsolda başka bir hata olmadığından emin misiniz? Genellikle bunu gördüğünüzde ve komut dosyalarınıza doğru sırada başvurulduğunda, products.js'de, bildirdiğiniz modül enjeksiyon hatasına yol açan bir zincirleme reaksiyon hatasına neden olan bazı sözdizimi hatası oluştu. – Lex

+0

Cidden, test.js adı verilen herhangi bir direktif veya kontrol birimi olmayan yeni bir modül bile oluşturdum ve aynı hataya dahil etmeye çalıştım. –

0

çünkü bu sizin app.js kodunda mağaza ürünlerini dahil etmeyin [] biz yönergeleri ekleyip sadece anladım hiçbir direktif adı 'mağaza ürünleri'

+0

Bunu kimin kestiğini bilmiyorum, ancak bu cevap yanlış. OP'nin yaptığı, geçerli olan ve diğer Angular modüllerin, şu anda tanımlanmış olan modülün bağımlılıkları olarak enjekte edildiği yoldur. – Lex

İlgili konular