У меня есть следующий угловую конфигурацию в файле index.js:Как переместить конфигурацию контроллера в собственный файл?
angular.module('ionicApp', ['ionic'])
.config(['$stateProvider', '$urlRouterProvider', function ($stateProvider, $urlRouterProvider) {
$stateProvider
.state('entry', {
url: '/entry',
templateUrl: 'app/views/entry/entry.html',
controller: 'EntryPageController'
})
$urlRouterProvider.otherwise('/entry');
}])
.controller('EntryPageController', ['$scope', '$state', function ($scope, $state) {
$scope.navTitle = 'Entry Page';
$scope.signIn = function() {
$state.go('main.home');
}
}])
Я пытаюсь переместить определение контроллера (который работает в приведенном выше примере) в отдельный файл, а именно:
// file name entry-ctrl.js
(function() {
'use strict';
angular.module('ionicApp', ['ionic'])
.controller('EntryPageController', ['$scope', '$state', EntryPageController]);
function EntryPageController($scope, $state) {
$scope.navTitle = 'Entry Page';
$scope.signIn = function() {
$state.go('main.home');
}
}
})
();
в index.html я ссылается файл как
<script src="app/views/entry/entry-ctrl.js"></script>
к сожалению, я не могу получить приложение, чтобы правильно вести себя. Когда я использую исходный код, страница появляется, как я ожидаю. Но когда я использую код в файле entry-ctrl.js, ничего не появляется.
Есть ли что-то еще, что мне нужно сделать, чтобы использовать код в файле entry-ctrl.js?
Для записи, это мой entry.html:
<ion-view title="{{navTitle}}" class="bubble-background">
<ion-content has-header="true" padding="true">
<h1>I'm working!</h1>
<a class="button button-positive" ng-click="signIn()" ui-sref="main.home">Sign In</a>
</ion-content>
</ion-view>
Вы пытались поместить определение 'EntryPageController' над вызовом' angular.module'? – cl3m