У меня большая проблема с отправкой данных в мой WorkspaceController. js из-за запуска службыWebGazer. У меня есть веб-обозреватель. js, который оценивает точки прогнозирования и передает их в переменные xprediction и yprediction в StartingWebgazer. js (это моя услуга)
app.service('startingWebGazer', function () {
this.startgazer = function () {
window.onload = function () {
webgazer.setRegression('ridge') /* currently must set regression and tracker */
.setTracker('clmtrackr')
.setGazeListener(function (data, elapsedTime) {
if (data == null) {
return
}
var xprediction = data.x; //these x coordinates are relative to the viewport
console.log(xprediction);
return xprediction;
// var yprediction = data.y; //these y coordinates are relative to the viewport
}).begin()
.showPredictionPoints(true); /* shows a square every 100 milliseconds where current prediction is */
var setup = function () {
//Set up the main canvas. The main canvas is used to calibrate the webgazer.
var canvas = document.getElementById("plotting_canvas");
canvas.width = window.innerWidth;
canvas.height = window.innerHeight;
canvas.style.position = 'fixed';
};
function checkIfReady() {
if (webgazer.isReady()) {
setup();
} else {
setTimeout(checkIfReady, 100);
}
}
setTimeout(checkIfReady, 100);
};
window.onbeforeunload = function () {
console.log('user want to left the page');
//webgazer.end(); //Uncomment if you want to save the data even if you reload the page.
window.localStorage.clear(); //Comment out if you want to save data across different sessions
}
}});
поэтому я хочу передать xprediction в WorkspaceController. js для выполнения некоторых оценок в будущем в контроллере
app.controller('WorkspaceController', ['$scope', 'startingWebGazer', function ($scope, startingWebGazer) {
// create configuration object
$scope.startingWebGazer = startingWebGazer;
console.log($scope.startingWebGazer);
console.log('data in workspace', $scope.startingWebGazer.startgazer());}]);
, но у меня большая проблема, потому что startgazer не определен, хотя xpreriction оценивается хорошо (это показывает console.log)
в чем проблема? почему я вижу xprediction в console.log, но не могу передать его контроллеру? и что мне делать?