簡體   English   中英

在外部調用AngularJS控制器

[英]calling AngularJS controller outside

我正在嘗試將AngularJS表單轉換為ExtJs表單。 我完全是AngularJS和ExtJS的新手。 最后,我可以處理ExtJS中的視圖部分,但是我想我需要使用AngularJS中的控制器。 有什么方法可以將我從ExtJS獲得的數據與AngularJS控制器一起使用? 例如,將在控制器方法中完成此工作的方法是:“ createAppInProject”

我如何從控制器外部調用此方法?

 angular.module('sincapp.controllers')
                .controller('AppsCtrl', ['$rootScope', '$scope', '$http', '$state', '$compile', '$timeout', '$log', '$window', 'UserService', 'AppStoreService', 'Globals', 'growl', 'AppService', 'DockingWindowsService',
                    function ($rootScope, $scope, $http, $state, $compile, $timeout, $log, $window, UserService, AppStoreService, Globals, Notifier, AppService, DockingWindowsService) {

            $scope.createAppInProject = function (name, description, version, tags, language, license, price, longdescription, note) {
                                var creator = UserService.userName;
                                AppService.createAppInProject(name, description, version, creator, tags, language, license, price, longdescription, note, $scope.selectedProject);
                            };
         }]);

這沒有幫助我:

$('#AppsCtrl').scope().createAppInProject("as","ss","sa","sas","ddasdsa","asdasd","sasd","dds","asd");

您應該使用angular.element()而不是jQuery。

angular.element($('#AppsCtrl')).scope().createAppInProject("as","ss","sa","sas","ddasdsa","asdasd","sasd","dds","asd");`

我認為您的問題是關於混合應用程序的體系結構,在這種情況下,您可以查看有角JS社區最佳實踐 ,以找到准則和一些示例。

在我看來,您可以使用HTMLElement.dataset屬性定義要從ExtJ共享的自定義數據。 可以在這里找到參考和示例

角度訪問帶有指令的此屬性,請查找標題創建操縱DOM的指令,這里有一個示例來觀察HTMLElement的屬性。 一個鍾。

當指令中包含數據時,可以使用ControllerA來查看angular樣式指南,section指令和controllerAs與angular內的其他控制器或服務共享數據。

也是數據很大,我建議您可以使用localstorage, 這里有一些很好的庫

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM