2013-08-12 2 views
3

Я пытаюсь добавить новый модуль в свое приложение. Моего HTML для индексной страницыДобавление нового модуля не работает в angularjs

<body ng-app="com.app"> 

В моем app.js

angular.module('mod1', ['ngResource']); 
angular.module('mod2', []); //this is module i want to add 
var app = angular.module('com.app', ['ngResource','mod1','mod2']); 

Моего Controllers1.js

var Controllers = angular.module('mod1'); 
Controllers.controller('ctrl1', function($scope,$http) {}); 

Controllers.controller('ctrl2', function($scope,$http) {}); //function for module 2 

, когда я пытаюсь добавить Упр 2 мой «controllers1.js «это работает, но если я добавлю это в мой другой js, скажу« controllers2.js », он не работает. Мой controllers2.js является

'use strict'; 

var mymodule = angular.module('mod2'); 

mymodule.controller('ctrl2', function() { 

    console.debug("Testing..."); 

}); 

резюме моего вопроса: когда я пытаюсь добавить свою функцию Упра 2 в новый модуль, его не работает и на FireFox консоли я получаю ошибку

Error: Argument 'ctrl2' is not a function, got undefined 
[email protected]://localhost:8080/tm-webapp/resources/lib/angular.js:1039 
[email protected]://localhost:8080/tm-webapp/resources/lib/angular.js:1050 
@http://localhost:8080/tm-webapp/resources/lib/angular.js:4802 
[email protected]://localhost:8080/tm-webapp/resources/lib/angular.js:14198 
[email protected]://localhost:8080/tm-webapp/resources/lib/angular.js:8307 
updateRoute/<@http://localhost:8080/tm-webapp/resources/lib/angular.js:7463 
qFactory/defer/deferred.promise.then/[email protected]://localhost:8080/tm-webapp/resources/lib/angular.js:6846 
qFactory/defer/deferred.promise.then/[email protected]://localhost:8080/tm-webapp/resources/lib/angular.js:6846 
qFactory/ref/<.then/<@http://localhost:8080/tm-webapp/resources/lib/angular.js:6883 
[email protected]://localhost:8080/tm-webapp/resources/lib/angular.js:8057 
[email protected]://localhost:8080/tm-webapp/resources/lib/angular.js:7922 
[email protected]://localhost:8080/tm-webapp/resources/lib/angular.js:8143 
[email protected]://localhost:8080/tm-webapp/resources/lib/angular.js:9170 
[email protected]://localhost:8080/tm-webapp/resources/lib/angular.js:9333 
createHttpBackend/</[email protected]://localhost:8080/tm-webapp/resources/lib/angular.js:9304 

I Я застрял здесь долго, любезно помогу мне, я буду очень благодарен. С уважением,

+1

вы должны создать плункер, чтобы люди могли вам помочь быстрее :) – nXqd

+0

вы можете начать с этого: – nXqd

ответ

2

Убедитесь, что в вашем загрузчике файлов (теги скриптов, requirejs, что угодно) Controllers1.js находится рядом с controllers2.js.

PS: некоторые операционные системы/веб-серверы (например, сервер внутри кармы на окнах) чувствительны к регистру. Поэтому попробуйте использовать один и тот же файл для своих файлов (верхний или нижний).

+1

Большое вам спасибо, я просто забыл добавить индекс .js в индекс. – Shahzeb

+0

Я ВСЕГДА это делаю. Я одобряю этот ответ, поэтому я больше не делаю этого для себя. –

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