gpt4 book ai didi

angularjs - 在工厂方法中调用 Controller

转载 作者:行者123 更新时间:2023-12-01 12:24:56 25 4
gpt4 key购买 nike

目前我有一个这样的工厂方法:

            open_model: function(som_id){
var modelSettings = $aside({
controller: // a very big controller code
size: 'sm',
placement: 'right',
templateUrl: 'views/id/modal.html',
resolve: {
modal_data: function(){
return area_id;
}
}
});
},

我想将 Controller 从这个方法中分离出来,并通过名称调用它。目前在 Controller 部分有超过 100 行代码,因此它使工厂变脏。那么有没有一种方法可以在其他地方定义 Controller ,并通过名称调用 Controller 而不是编写代码。

最佳答案

除了@nikjohn 的回答之外,您还可以创建一个单独的 Angular Controller 并在您的 modelSettings 中引用它。由于您已经说过您的模态 Controller 代码超过 100 行,这甚至可能是更好的解决方案。

angular.module('myApp').controller('ModalInstanceCtrl', ['$scope', 'modal_data', function($scope, modal_data) {
// modal controller code goes here
}]);

// and refer it in your factory method
open_model: function(som_id){
var modelSettings = $aside({
controller: 'ModalInstanceCtrl'
size: 'sm',
placement: 'right',
templateUrl: 'views/id/modal.html',
resolve: {
modal_data: function(){
return area_id;
}
}
});
}

关于angularjs - 在工厂方法中调用 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40859057/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com