Javascript ReferenceError:未定义讲师FAC

Javascript ReferenceError:未定义讲师FAC,javascript,angularjs,angularjs-directive,angularjs-scope,Javascript,Angularjs,Angularjs Directive,Angularjs Scope,当我加载html页面时,我的控制器从API端点检索有关课程的数据。页面将填充有关课程的数据。但同时,我想在页面的一部分填充有关课程讲师的数据(他们的图像、姓名、描述等…)。我使用ng init指令将讲师名称传递给该方法,但得到一个 引用错误:未定义讲师FAC 我不确定,但我相信问题在于我使用ng init指令调用get讲师()函数的方式 当页面加载时,我希望在页面上显示讲师的详细信息以及课程详细信息 courses.html <div class="container" ng-contr

当我加载html页面时,我的控制器从API端点检索有关课程的数据。页面将填充有关课程的数据。但同时,我想在页面的一部分填充有关课程讲师的数据(他们的图像、姓名、描述等…)。我使用ng init指令将讲师名称传递给该方法,但得到一个

引用错误:未定义讲师FAC

我不确定,但我相信问题在于我使用ng init指令调用get讲师()函数的方式

当页面加载时,我希望在页面上显示讲师的详细信息以及课程详细信息

courses.html

<div class="container"  ng-controller="CoursesDetailsCtrl">

    <div class="row" >
        <div class="col-4" ng-model="getLecturer(courses.lecturer)">
           <div>
             <h3>{{lecturer.name}}</h3>
             <<div>
                 <img class="img-circle"  ng-src="{{lecturer.picture}}" alt="" /> 
             </div>
                <p>{{lecturer.description}}</p>  -->
           </div>

        </div>
        <div class="col-8"> 
            <div class="myContainer" >
                <h2>{{courses.name}}</h2>
                <div class="thumbnail">
                    <img  ng-src="{{courses.picture}}" alt="" /> 
                </div>
                <div>
                    <p>{{courses.description}}</p>
                </div> 
            </div>
        </div> 
    </div>
</div>
todoApp.controller('CoursesDetailsCtrl', ['coursesFac','lecturerFac','$scope','$stateParams', function CoursesCtrl(coursesFac, lecturerFac, $scope, $stateParams){

$scope.getLecturer = function(name){
        lecturerFac.getLecturerByName(name)
            .then(function (response) {
                $scope.lecturer = response.data;
                console.log($scope.lecturer);
            }, function (error) {
                $scope.status = 'Unable to load lecturer data: ' + error.message;
                console.log($scope.status);
            });
    };

}]);
讲师FAC

todoApp.factory('lecturerFac', ['$http', function($http) {

var urlBase = '/api/lecturer';
    var coursesFac = {};

     lecturerFac.getLecturer = function () {
        return $http.get(urlBase);
     };

    lecturerFac.getLecturerByName = function (name) {
        return $http.get(urlBase + '/' + name);
    };

    return lecturerFac;
}]);

我认为此错误的原因是
讲师FAC
变量未在工厂初始化。在工厂中创建一个空对象调用
讲师FAC
,并返回它

todoApp.factory('lecturerFac', ['$http', function($http) {
    var urlBase = '/api/lecturer';
    var coursesFac = {};

    var lecturerFac= {};/////////////////////

    lecturerFac.getLecturer = function() {
        return $http.get(urlBase);
    };
    lecturerFac.getLecturerByName = function(name) {
        return $http.get(urlBase + '/' + name);
    };
    return lecturerFac;
}]);

还应避免在ng模型内调用函数。当您使用ng模型绑定某个对象时,它必须可用于读取和写入-例如,对象上的属性/字段。改用ng init

我认为导致此错误的原因是
讲师FAC
变量未在工厂初始化。在工厂中创建一个空对象调用
讲师FAC
,并返回它

todoApp.factory('lecturerFac', ['$http', function($http) {
    var urlBase = '/api/lecturer';
    var coursesFac = {};

    var lecturerFac= {};/////////////////////

    lecturerFac.getLecturer = function() {
        return $http.get(urlBase);
    };
    lecturerFac.getLecturerByName = function(name) {
        return $http.get(urlBase + '/' + name);
    };
    return lecturerFac;
}]);

还应避免在ng模型内调用函数。当您使用ng模型绑定某个对象时,它必须可用于读取和写入-例如,对象上的属性/字段。改用ng init

抱歉,我没有注意到有错误,请参阅更新。抱歉,我没有注意到有错误,请参阅更新