Javascript ReferenceError:未定义讲师FAC
当我加载html页面时,我的控制器从API端点检索有关课程的数据。页面将填充有关课程的数据。但同时,我想在页面的一部分填充有关课程讲师的数据(他们的图像、姓名、描述等…)。我使用ng init指令将讲师名称传递给该方法,但得到一个 引用错误:未定义讲师FAC 我不确定,但我相信问题在于我使用ng init指令调用get讲师()函数的方式 当页面加载时,我希望在页面上显示讲师的详细信息以及课程详细信息 courses.htmlJavascript 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
<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抱歉,我没有注意到有错误,请参阅更新。抱歉,我没有注意到有错误,请参阅更新