Я очень новичок в Angular.js.
Я взял необходимые элементы из этого руководства по модальным окнам в Angular.js: http://jasonwatmore.com/post/2016/07/13/angularjs-custom-modal-example-tutorial
Изолированный, я могу заставить этот код работать, но после переноса его на свой веб-сайт я просто не могу заставить его работать.
В коде Джейсона у него есть файл с именем index.controller.js, и хотя я перенес этот файл на свою страницу, я не верю, что он срабатывает. Вот index.controller.js:
(function () {
angular
.module('app')
.controller('Home.IndexController', Controller);
function Controller(ModalService) {
var vm = this;
vm.openModal = openModal;
vm.closeModal = closeModal;
function openModal(id){
ModalService.Open(id);
}
function closeModal(id){
ModalService.Close(id);
}
}
})();
На моей собственной странице у меня есть все контроллеры, содержащиеся в app.js. Вот как это устроено:
var app = angular.module('app', ['ngRoute', 'ui.router']);
app.config(function ($stateProvider, $urlRouterProvider, $locationProvider) {
$locationProvider.hashPrefix('');
$urlRouterProvider.otherwise("/");
$stateProvider
.state('home', {
url: '/',
templateUrl: 'pages/main.html',
controller: 'mainController',
controllerAs: 'vm'
})
.state('screenings', {
url: '/screenings',
templateUrl: 'pages/screenings.php',
controller: 'Home.IndexController',
controllerAs: 'vm'
})
...
});
Вы можете видеть, что во втором .state я пытаюсь вызвать файл index.controller.js для этого конкретного фрагмента. Однако по какой-то причине срабатывает код в screeningsController (внизу).
Далее в том же файле app.js у меня есть контроллеры:
...
app.controller('screeningsController', ['$scope', '$log', function($scope, $log){
$scope.popup = function() {
// assign a message to the $scope
$scope.message = 'Hello World!';
// use the $log service to output the message in a console
$log.log($scope.message);
};
}]);
...
Можно ли каким-то образом интегрировать то, что находится в файле index.controller.js, в мой screeningsController в app.js? Я пытался заставить модальное окно работать на моем сайте уже около недели. Буду признателен за любую оказанную помощь.
Home.IndexController
? Вы намеревались использовать контроллерscreeningsController
для маршрута / скрининга? Если это так, вам нужно обновить маршрут доcontroller: 'screeningsController'
. - person Alexander Staroselsky   schedule 12.05.2017controller: 'screeningsController'
. Даже в том виде, в котором это написано сейчас, он все еще, похоже, запускает screeningsController. - person rpivovar   schedule 12.05.2017'Home.IndexController'
, поэтому я попытался посмотреть, будет ли каким-то образом выполняться index.controller.js. Я не совсем уверен, как выполняется index.controller.js. - person rpivovar   schedule 12.05.2017controller
вашего определения маршрута должно соответствовать идентификатору, указанному вами вapp.controller('someIdentifierGoesHere', [function() {}])
. Скорее всего, вам потребуется поделиться своим HTML-кодом, чтобы определить, являетесь ли вы триггерными контроллерами для создания экземпляров с помощью такой директивы, какng-controller
. - person Alexander Staroselsky   schedule 12.05.2017app.controller('Home.IndexController'
, то тот маршрут сcontroller: 'Home.IndexController'
просто не будет работать. - person Alexander Staroselsky   schedule 12.05.2017<div id="screenings" ng-controller="screeningsController">
в самом верху. Бьюсь об заклад, это то, что вы имеете в виду. Фу - person rpivovar   schedule 12.05.2017<div id="screenings" ng-controller="Home.IndexController">
, это потенциально вызовет запуск кода в index.controller.js? - person rpivovar   schedule 12.05.2017