我试图将AngularJS表单转换为ExtJs表单。我是AngularJS和ExtJS的新手。最后我可以处理ExtJS中的视图部分,但我想我需要使用AngularJS中的控制器。有没有办法使用我从ExtjeJS控制器获得的数据? 例如,在控制器方法中执行该操作的方法是:“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");
答案 0 :(得分:0)
您应该使用angular.element()
而不仅仅是jQuery。
angular.element($('#AppsCtrl')).scope().createAppInProject("as","ss","sa","sas","ddasdsa","asdasd","sasd","dds","asd");`
答案 1 :(得分:0)
我认为你的问题是关于混合应用程序的架构,在这种情况下你可以查看best practices of the angular JS community,找到指南和一些例子。
在我看来,您可以使用HTMLElement.dataset
属性来定义要从ExtJ共享的自定义数据。可以找到the reference and example here
使用Directives对此属性进行角度访问,查找创建操纵DOM的指令,有一个示例可以观察HTMLElement
的属性。一个时钟。
如果指令中有数据,您可以使用 ControllerAs ,请参阅angular styleguide, section directive and controllerAs以与角度内的其他控制器或服务共享数据。
数据也很大,我建议你可以使用localstorage,here are some good libraries。