我对 Angular.js 很陌生。
我已经从本教程中的 Angular.js 中的模态窗口中获取了必要的元素:http: //jasonwatmore.com/post/2016/07/13/angularjs-custom-modal-example-tutorial
孤立地,我可以让这段代码工作,但是在将它移植到我的网站后,我就无法让它工作。
在 Jason 的代码中,他有一个名为 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 文件中的内容集成到 app.js 中的 ScreeningsController 中?大约一周以来,我一直试图让一个模态窗口在我的网站上工作。任何帮助深表感谢。