したがって、私の readingController は最初に本体で getRomanization を呼び出し、次に Romanize ファクトリ サービス (コントローラーの下に表示) を呼び出します。これは最初はすべて正常に機能しますが、2 回目は checkRomanization の最後に getRomanization が呼び出されたときundefined
に Chrome のように Romanize サービスが起動します。Romanize サービスはどうなりますか? なぜ一度しか正常に実行されないのですか?
私は何年も立ち往生しているので、これで私を助けてください。
var readingController = function ($scope, Romanize){
$scope.getRomanization = function(Romanize){
$scope.currentMaterial = $scope.sections[$scope.sectionNumber].tutorials[$scope.tutorialNumber].material[$scope.questionNumber];
Romanize.get($scope.currentMaterial).then(function(d){
$scope.romanized = d;
});
$scope.$apply();
};
$scope.getRomanization(Romanize);
$scope.$apply();
$scope.checkRomanization = function(userRomanization){
if ($scope.romanized === userRomanization){
$scope.questionNumber++;
$scope.getRomanization();
};
}
}
app.factory('Romanize', ['$http', 'Position', function($http, Position){
return{
get: function(query){
var url= Position.sections[Position.sectionNumber].romanizeService + "?korean=" + query;
var promise = $http.get(url).then(function(d) {
var parts = $(d.data).find("span");
var array = [];
for (var x = 0; x<parts.length; x++){
array.push(parts[x].title);
}
var result = array.join("");
return result;
});
return promise;
}
};
}]);