即使在app.js和controller.js中编写函数,函数也不是函数

时间:2017-10-26 14:29:06

标签: angularjs

感谢一些帮助我使用以下代码的优秀专家,我可以继续下一步。

下一步是,问题。当然,我已经在网上搜索了一些答案,但我想我错过了它或者没有完全理解它。

我正在

  

" ProjectService.getProjects不是函数"

来自下面的Controller.js。 App.js将getProjects()作为函数,但它说它不是controller.js中的函数。

[Controller.js]

function ProjectCtrl($scope, $http, ProjectService, $timeout, $state, $stateParams) {
...
$scope.projects =  ProjectService.getProjects();
...
};

[app.js]

(function () {
'use strict';
var app = angular.module('myProject', []);
app.service('ProjectService', function($http) {
    $http.get("projects_read.php", {})
        .then(function(response){
            var pjts = response.data;
            this.getProjects = function() { //ERROR occurs
                return pjts;  
            };

            this.getProject = function(id) {
                for (var i = 0; i < pjts.length; i++) {
                    if (pjts[i].id === id) {
                        return pjts[i];
                    }
                }
                return null;
            }

            console.log(pjts);
        }.bind(this));
    })
})();

其他文件说它可能是命令名称的一些错位等。我想我已将函数调用放在正确的位置,但它不起作用。

希望我不要浪费任何时间。即使它可能如此,它对我来说仍然很重要,也可能对一些初学者来说也是如此。 :)

请告诉我为什么我在app.js代码中写这个功能时不会出现这个功能。

[参考链接] http://plnkr.co/edit/VJxlqguJZGrIutAFLCNc?p=preview

提前感谢您的协助!

0 个答案:

没有答案