【问题标题】:using $uibmodal to open from another controller and template使用 $uibmodal 从另一个控制器和模板打开
【发布时间】:2018-05-26 19:21:14
【问题描述】:

我在某种程度上是 $uibmodal 的新手,我想为页面上的每个按钮显示一个弹出样式的表单,我想将每个弹出表单的代码分离到它们自己的 js 控制器和模板中,而不是在我的主 js 控制器和模板中。

这是我将表单显示为弹出窗口的简单代码:

 var modalInstance = $uibModal.open({
                    templateUrl: '/App/views/security/people/roleView.html',
                    controllerUrl: '/App/views/security/people/roleController.js',
                    controller: 'roleController',
                    size: 'lg',
                    resolve: {},
                });

这是我的控制器的简单代码:

define(['app'], function (app) {
    app.register.controller("roleController", ["$scope", "dataService", "$uibModal", "messageService",

    function ($scope, dataService, $uibModal, messageService) {

    debugger
}
]);
});

我的问题是,每当我单击按钮时,它都会给我一个错误,即我的名为“rolecontroller”的控制器未注册。

名为“roleController”的控制器未注册。

提前致谢。

【问题讨论】:

  • 你有没有尝试在初始引导中注册控制器,app.controller();
  • @MarcusHöglund 你的意思是在 app.js 中?我该怎么做呢?
  • 是的,添加 app.controller("roleController", ["$scope", "dataService", "$uibModal", "messageService", function(...
  • @MarcusHöglund 非常感谢。似乎有效:)。发表您的评论作为答案。
  • Np,很好,它解决了它。添加了答案:)

标签: angularjs bootstrap-modal angular-ui-bootstrap


【解决方案1】:

您应该像这样在 app.js 的初始引导程序中添加控制器

app.controller("roleController", ["$scope", "dataService", "$uibModal", "messageService",

    function ($scope, dataService, $uibModal, messageService) {

    debugger
}]);

【讨论】:

  • 很抱歉,我的问题还没有完全解决,现在我必须将整个控制器复制到 app.js 中,但我想为我的控制器创建一个单独的文件。
  • @eFarzad 你仍然可以拥有一个单独的文件。确保它最初只是加载
  • 它只是进入 app.js 而根本不去追求“rolecontroller.js”。
  • @eFarzad 您是否检查过在运行/构建应用程序时是否引用了 rolecontroller.js?
  • 现在,当我单击按钮时,它现在会弹出我想要的表单,但似乎找不到角色控制器,并且我在弹出表单上的按钮不起作用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-20
  • 1970-01-01
  • 2016-01-05
相关资源
最近更新 更多