2014-10-01 4 views
0

После прочтения некоторых уроков я структурировал свое приложение таким образом, что есть модуль управления контроллерами &, которые были зависимыми от приложения. Я хотел бы получить контроллер контроллера модуля контроллера, чтобы создать новый контроллер. Я сделал это с некоторым кодом, и он работает. Я попытался добавить еще один контроллер, и тот же код не работает. Может ли кто-нибудь сказать мне, почему раздел кода ниже не работает для добавления контроллера.ошибка angularjs, определяющая контроллер

// ffpApp.js 
ffpApp = angular.module("ffpApp", 
      ['ngRoute', 
      'ffpControllers', 
      'ffpServices']); 

/* Controllers */ 
var ffpControllers = angular.module('ffpControllers', []); 

/* Services */ 
var ffpServices = angular.module('ffpServices', ['rails']); 

Это файл, где я определяю свой контроллер.

// createnew_controller.js 

'use strict'; 

/* Controllers */ 
var ffpControllers = angular.module('ffpControllers'); 

// 
// This section of code works. 
// 
angular.module('ffpApp').controller('MyController', ['$scope', function ($scope) { 
    console.log("hello world"); 
}]); 


// 
// This section FAILS; argument not a function got Undefined when 
// trying to use it in ffpApp.js 
// 
ffpControllers.controller('MyController', ['$scope', function ($scope) { 
    console.log("hello world"); 
}]); 
+1

Там не кажется, что любая ошибка в вставленного кода. Вероятно, вам не хватает информации. Что вы подразумеваете под попыткой использовать его в ffpApp.js? – PSL

+0

Я пытаюсь использовать его, когда я определяю маршрут и указываю имя контроллера. –

ответ

0

вы работать добавили в модуль под названием т.е. основной модуль App «ffpApp» НЕ выделенный модуль контроллеров управления. Оба контроллера имеют то же имя, что и «MyController».

Код:

var ffpControllers = angular.module('ffpControllers'); 

создает другой модуль такое же имя, как и основной модуль App, но без каких-либо зависимостей. Этот код необходимо удалить.

Попробуйте следующий метод. Убедитесь, что файлы включены в ваш файл index.html.

APP.JS

/*================================================================ 
Module - main App module 
dependencies injected include the controllers module and services module 
=================================================================*/ 
angular.module("ffpApp", ['ngRoute', 'ffpControllers', 'ffpServices']); 

CONTROLLERS.JS

/*================================================================ 
Module - Just for Controllers 
Define your controllers in this file also 
=================================================================*/ 
angular.module('ffpControllers', []) 

//Controller 1 
.controller('MyController1', function ($scope) { 
    console.log("hello from controller 1"); 
}) 

//Controller 2 
.controller('MyController2', function ($scope) { 
    console.log("hello from controller 2"); 
}); 

SERVICES.JS

/*================================================================ 
Module - Just for Services 
Define your services in this file below the module 
=================================================================*/ 
angular.module('ffpServices', []); 
Смежные вопросы