2016-12-23 24 views
0

角度1.5.1でビューの値を更新しようとしていますが、動作させられないようです。角度(1.5.1)のビュー値が更新されない

HTML:

<section> 
    {{ main.state }} 
</section> 

コントローラ:

vm.state = 'Scanning face'; 
test_facial_recognition_score(); 

function test_facial_recognition_score() { 
    var score = vm.webgazer.getTracker().clm.getScore(); 
    console.log('score: ' + score); 
    vm.state = 'Facial detection score: ' + score * 100; 
    if(score >= 0.90) { 
    recognize_facial_points(); 
    } else { 
    setTimeout(function() { 
     test_facial_recognition_score(); 
    }, 100); 
    } 
} 

初期vm.state値が関数test_facial_recognition_scoreが正しい働いても、私の見解では、正しい表示されます。

コンソール:

main.controller.js:25 score: 0.2973043774479575 
main.controller.js:25 score: 0.7672696234331723 
main.controller.js:25 score: 0.7830798892627874 
main.controller.js:25 score: 0.8757129516231377 
main.controller.js:25 score: 0.9066341994265908 

私の質問:どのように来るビュー値({{ main.state }})がvm.state値を更新しません?

編集1: {{ main.state }}が原因stateproviderのように呼び出されます。

$stateProvider 
     .state('home', { 
     url: '/', 
     templateUrl: 'app/main/main.html', 
     controller: 'MainController', 
     controllerAs: 'main' 
     }); 
+0

を、あなたのHTMLを表示することができます完全にpls。なぜそれを '{{main.state}} 'と呼びますか – Jax

+0

これは私の完全なHTMLです。小さなテストプロジェクトなので、複雑なことはありません。 – Xiduzo

答えて

1

setTimeout$digestサイクルをトリガしません - Angularsが$timeoutサービス所有して使用します。

$timeout(test_facial_recognition_score, 100); 
+0

ありがとう!これは答えます – Xiduzo

+0

@Xiduzoあなたは答えを受け入れる必要があります。 – Jax

関連する問題