この時計がディレクティブ内にあると仮定すると、このようにメインコントローラーから変数を監視することは可能ですか? これがディレクティブ全体です。このように見える場合、最初のページの読み込みでウォッチがトリガーされますが、その後はトリガーされません。questionNumber をディレクティブに渡しません。これが、それを認識していない理由ですか?
.directive('videoLoader', function () {
return function (scope, element, attrs) {
scope.$watch(attrs.videoLoader, function () {
element[0].load();
element[0].play();
$(scope.video).bind('ended', function () {
$(this).unbind('ended');
if (!this.ended) {
return;
}
scope.tutorialNumber++;
scope.$apply();
scope.loadFromMenu();
});
});
scope.$watch(scope.questionNumber, function(){
if (scope.sectionNumber === 0 && scope.tutorialNumber === 0) { //if first video play congratulations etc
if (scope.questionNumber === 1) {
start(164.15);
pause(166.8);
} else if (scope.questionNumber === 2) {
start(167.1);
pause(170);
} else if (scope.questionNumber === 3) {
start(171.1);
}
}
});
}
}))