1

我是 Angularjs 的新手,我正在尝试使用 soundManager 库创建一个简单的播放器。

我面临的问题是关于在声音加载/播放期间更新 DOM。

soundManagerSound对象公开了一些动态属性,例如bytesLoadedor position,我试图弄清楚如何将它们绑定到 DOM。

我尝试过类似的东西

<span ng-bind="sound.bytesLoaded"></span>

wheresound是附加到 root 的声音对象的实例$scope,但似乎 DOM 仅以这种方式更新一次。

4

1 回答 1

2

问题可能sound.bytesLoaded是在非角度世界中更新,例如加载字节的回调函数或一些类似的非角度世界的回调方法。

要在非角度世界中更新模型值时更新视图,您可能需要$scope.$apply从 SM2 的回调方法中调用该方法。

一些伪代码:

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. 

})
于 2013-03-18T05:24:21.787 回答