찾다

 >  Q&A  >  본문

angular.js - angularjs如何中,controller如何获取factory返回的值呢?

var app = angular.module("MyApp", []);

app.factory("myFactory", function ($http) {

    return {
        
        getDatas: function () {

            var args = {};
            var url = "test.req";

            $http({
                method: 'POST',
                data: args,
                url: url
            }).success(function (response, status, headers, config) {

                return response;


            }).error(function (response, status, headers, config) {

                alert(status + response);

            });

        }

    };

});

app.controller("myCtrl", function ($scope, myFactory) {

    $scope.names = {};
    $scope.title = myFactory.msg;

    alert(myFactory.getDatas());
    $scope.names = myFactory.getDatas();

});

以上代码中alert(myFactory.getDatas());
获取不到factory的值的,显示undefined。
浏览器debug显示:
angular1.5.3.min.js:6Uncaught Error: [$injector:modulerr]

factory能够从后端获取到数据,就是controller这头不知道怎么互获取factory的数据.....

世界只因有你世界只因有你2745일 전626

모든 응답(1)나는 대답할 것이다

  • 黄舟

    黄舟2017-05-15 17:02:43

    최근에 앵글을 보기 시작했는데...


    getDatas 메소드는 실제로 비동기 함수 실행 본문입니다. getDatas가 실행되면 $http는 백엔드 데이터를 비동기적으로 요청합니다. 그러나 getDatas가 실행된 후에는 반환되며 경고는 값을 가져올 수 없습니다.

    으아악

    회신하다
    0
  • 취소회신하다