服务调用返回函数定义而不是实际的角度返回

时间:2016-04-18 05:19:45

标签: javascript angularjs node.js service angularjs-scope

在第37行的summary.controller.js中,我调用了'filter.jdpa',它是service:filter.js中定义的方法。 该方法是为了返回一个数组jdp​​aarr但是当我在控制器中调用它时,我将整个方法定义作为输出 The output of the controller

The service calls from the controller

该服务的代码也附在

下面
(function () {
    'use strict';
    angular.module('app')
            .service('filter', filter);

    function filter() {

            this.jdpaf=jdpaf;
            this.yearf=yearf;
            this.cityf=cityf;

    function jdpaf(){
         var jdpaarr=['All','JDPA','Non-JDPA'];
         console.log(jdpaarr);
        return 'jdpaarr';


    }

    function yearf(){
        var yeararr=['2011','2012','2013','2014'];
            console.log(yeararr);
        return 'yeararr';
    }


    function cityf(){
        var cityarr=['Delhi','Mumbai','Trivandrum','Banglore','Hyderabad'];
        return cityarr;
    }


        }
    })();

我已经在服务本身中提供了console.logs,但是无法正常工作。 但是为什么函数调用中会显示整个函数定义?

1 个答案:

答案 0 :(得分:1)

您基本上只是分配定义。

尝试在初始化时调用/执行它并将返回的值保存在范围内,如。

$scope.Filterarray.jdpa = filter.jdpaf();

希望这有帮助。