2013-03-18 4 views
1

Angularjs를 처음 사용하고 SoundManager 라이브러리를 사용하여 간단한 플레이어를 만들려고합니다.anglejs with soundmanager, DOM로드 중 업데이트

내가 직면하는 문제는 사운드로드/재생 중에 DOM을 업데이트하는 것입니다.

soundManager Sound 개체는 bytesLoaded 또는 position과 같은 일부 동적 속성을 표시하며이를 DOM에 바인딩하는 방법을 알아 내려고하고 있습니다.

나는

sound 루트 $scope에 부착 된 사운드 객체의 인스턴스
<span ng-bind="sound.bytesLoaded"></span> 

처럼 뭔가를 시도하지만 DOM이 방법으로 한 번만 업데이트됩니다 보인다.

답변

2

sound.bytesLoaded은로드 된 바이트의 콜백 함수와 같이 비 앵글 월드에서 업데이트되거나 비 각도 월드 인 유사한 콜백 메서드로 업데이트 될 수 있습니다.

비 앵글 월드에서 모델 값을 업데이트하는 동안 뷰를 업데이트하려면 SM2의 콜백 메서드에서 $scope.$apply 메서드를 호출해야 할 수 있습니다.

일부 의사 코드 : 회신에 대한

sound.on('bytesLoaded', function(bytesLoaded){ 
    // Imagine you have some similar kind of the callback in SM2, 
    // where you will be updating the sound.bytestLoaded property. 
    sound.bytesLoaded = bytesLoaded; 
    $scope.$apply(); // please make sure you call have this line 
        // where you are updating the bytesLoaded property. 

}) 
+0

감사합니다. '$ apply' 메서드에 대해 확신이 없더라도 나에게 의미가있는 것처럼 보입니다. 나는 Angularjs 의사가 탐험하기 조금 어렵다고 느낀다. –

+0

다른 사람들에게 도움이 될 수 있습니다. http://docs.angularjs.org/misc/faq ($ watch & $ apply 섹션) –