在angularJS中调用第二个HTML页面的模态对话框中的第一个HTML页面
我有控制器、路由器、服务和视图的文件夹结构在angularJS中调用第二个HTML页面的模态对话框中的第一个HTML页面,angularjs,modal-dialog,Angularjs,Modal Dialog,我有控制器、路由器、服务和视图的文件夹结构 study/controller.js router.js service.js files/controller.js router.js service.js view/files.html study.html 研究文件和HTML视图使用文件夹中定义的相应JS文件。我有一个独特的例子,在研究视图页面中,我启动了一个模式对话框,该对话框必须显示文件视图HTML页面。在“文件视图”页面上
study/controller.js
router.js
service.js
files/controller.js
router.js
service.js
view/files.html
study.html
研究文件和HTML视图使用文件夹中定义的相应JS文件。我有一个独特的例子,在研究视图页面中,我启动了一个模式对话框,该对话框必须显示文件视图HTML页面。在“文件视图”页面上,用户选择一个文本,然后该文本需要显示在“研究视图”模式对话框的文本中
文件控制器如下所示
myapp.controller('FileController', ['$rootScope', '$scope', '$routeParams', '$location', '$filter', 'resolvedFile', 'FileService',
function ($rootScope, $scope, $routeParams, $location, $filter, resolvedFile, FileService) {
if (angular.isArray(resolvedFile)) {
resolvedFile.$promise.then(function(files) {
$scope.files = files;
});
}
myApp
.config(['$routeProvider', '$httpProvider','$translateProvider', 'USER_ROLES',
function ($routeProvider, $httpProvider, $translateProvider, USER_ROLES) {
$routeProvider
.when('/files', { // listing files
templateUrl: 'views/files.html',
controller: 'FileController',
resolve:{
resolvedFile: ['$route', 'FileService', function ($route, FileService) {
return FileService.files.query();
}]
},
access: {
authorizedRoles: [USER_ROLES.all]
}
})
}]);
}])
文件路由器的定义如下所示
myapp.controller('FileController', ['$rootScope', '$scope', '$routeParams', '$location', '$filter', 'resolvedFile', 'FileService',
function ($rootScope, $scope, $routeParams, $location, $filter, resolvedFile, FileService) {
if (angular.isArray(resolvedFile)) {
resolvedFile.$promise.then(function(files) {
$scope.files = files;
});
}
myApp
.config(['$routeProvider', '$httpProvider','$translateProvider', 'USER_ROLES',
function ($routeProvider, $httpProvider, $translateProvider, USER_ROLES) {
$routeProvider
.when('/files', { // listing files
templateUrl: 'views/files.html',
controller: 'FileController',
resolve:{
resolvedFile: ['$route', 'FileService', function ($route, FileService) {
return FileService.files.query();
}]
},
access: {
authorizedRoles: [USER_ROLES.all]
}
})
}]);
在研究视图中,我使用ng class=modal fade弹出一个模态对话框,然后模态有一个标题和一个主体。我现在最大的问题是如何在这个模式对话框中显示文件视图。到目前为止,我就是这样尝试的。这是学习控制器代码
$scope.openFileChoser = function(){
var modalInstance = $modal.open({
templateUrl: 'views/files.html',
controller: 'FileController',
resolve: {
resolvedFile : function () {
return FileService.files.query();
}
}
});
}
问题是,一旦进入研究控制器模式代码,如何使files.html调用文件服务。我猜这是因为在$routeProvider配置中有相同的控制器FileController,具有不同的解析参数,在一种情况下是resolvedFile,在另一种情况下是-files。角度期望解析为一致。因此,要么使用不同的控制器,要么在每个路径中添加两个解析。我更改了语法,不会出现相同的错误,但如何创建对话框中出现的模式页面files.html来进行服务调用。我不理解这个问题。我建议你发布一个包含更多细节的单独问题。