【问题标题】:binding to an object returned by a service function绑定到服务函数返回的对象
【发布时间】:2015-07-03 04:44:08
【问题描述】:

我在 Angular 服务中有以下功能:

    this.getTasks = function() {
        return $http.post(endpoint, params)
        .then(function (response) {
            console.log(response.data);
            return response.data;
        });
    };

然后我尝试将返回值绑定到控制器中的变量,方法是首先执行服务函数,然后使用 .then() 将其分配给变量:

        vm.getTasks = function() {
            LocationGraphService.getTasks()
            .then(function (response.data) {
                vm.tasks = response.data;
            });
        }

这不起作用。我知道服务功能的工作原理是 console.log 向我展示了我正在提取的数据。我需要帮助来调用控制器中的函数并将其分配给变量。 $q 在这里合适吗?

【问题讨论】:

    标签: javascript angularjs


    【解决方案1】:

    由于您的服务将响应对象标准化为原始responsedata 属性,因此您无需在控制器中再执行一次。正确的控制器逻辑是:

    vm.getTasks = function() {
        LocationGraphService.getTasks()
        .then(function (data) {
            vm.tasks = data;
        });
    };
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-01
      • 2016-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-11
      • 2017-02-26
      • 1970-01-01
      相关资源
      最近更新 更多