简体   繁体   English

如何从angularJS工厂向控制器填充数据?

[英]How to populate data from angularJS factory to controller?

I have data in angularjs factory that is dataSource for kendo grid , i also want to get raw data object to write some logic but i am not able to populate data object from the factory to controller, console.log is printing the data in factory. 我在angularjs工厂中有数据,它是Kendo网格的dataSource,我也想获取原始数据对象以编写一些逻辑,但是我无法将数据对象从工厂填充到控制器中, console.log在工厂中打印数据。 How can i get json object in controller using same angularJS factory ? 如何使用相同的angularJS工厂在控制器中获取json对象?

factory.js factory.js

angular.module('App').factory('processService', function($http, $stateParams, OrcitLoader) {
            'use strict';
            getPrcChallengesGridDataSource: function(processKey, challengeType) {
                    return new kendo.data.DataSource({
                        type: 'json',
                        transport: {
                            read: function(options) {

                                return OrcitLoader.load($http.get('app/challenge/rest/getChallengesForGrid?key=' + processKey + '&challengeType=' + challengeType)).success(
                                    function(data) {
                                      console.log(data);
                                        options.success(data);
                                    }).error(function(err) {
                                    console.log(err);
                                });
                            }

                        },
                    });

Controller.js Controller.js

angular
    .module('App')
    .controller('ProcessCtrl', function($scope, processService) {

            processService.getPrcChallengesGridDataSource($stateParams.processId,challengeTypeLkupCode).then(function(response) {
                    var data = response.data;
                }

            });

Return data from service 从服务返回数据

angular.module('App').factory('processService', function($http, $stateParams, OrcitLoader) {
            'use strict';
            getPrcChallengesGridDataSource: function(processKey, challengeType) {
                    return new kendo.data.DataSource({
                        type: 'json',
                        transport: {
                            read: function(options) {

                                return OrcitLoader.load($http.get('app/challenge/rest/getChallengesForGrid?key=' + processKey + '&challengeType=' + challengeType)).success(
                                    function(data) {
                                      console.log(data);
                                        options.success(data);
                                        return data
                                    }).error(function(err) {
                                    console.log(err);return;
                                });
                            }

                        },
                    });

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何在angularjs中将数据从控制器获取到Factory - How to get data from controller to Factory in angularjs 如何在angularjs中将数据从工厂传递到我的控制器? - How can I pass an data from factory to my controller in angularjs? 如何将功能从工厂传递到控制器angularJS - How to pass functions from factory into controller angularJS AngularJS:在没有工厂,服务或广播的情况下将数据从控制器传递到控制器? - AngularJS : pass data from controller to controller without factory, service or broadcast? AngularJS:从控制器调用工厂 - AngularJS: call factory from controller AngularJS:从工厂获取数据并更新Controller范围和视图 - AngularJS : Getting data from Factory and update Controller scope and view 如何通过Angularjs的ng-click使用控制器显示工厂中的数据 - How to display data from a factory using controller through ng-click with Angularjs 如何在工厂AngularJS中使用来自API的数据 - How to use data from API in factory AngularJS 如何在控制器加载angularJS页面之前使工厂数据可用 - How to make factory data available before controller loads page in angularJS 如何使用来自两个不同组件中引用的服务的数据填充工厂? - How to populate factory with data from service referenced in two different components?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM