Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 角度播放按钮未在音频完成时更新_Javascript_Angularjs - Fatal编程技术网

Javascript 角度播放按钮未在音频完成时更新

Javascript 角度播放按钮未在音频完成时更新,javascript,angularjs,Javascript,Angularjs,奇怪的问题 <button ng-show="scene.audio" class="button icon {{scene.audioIcon}}" ng-click="playAudio(scene)"/> $scope.playAudio = function ($scene){ if($scene.audioIcon == "ion-ios-play-outline") { $scene.audioIcon = "ion-ios-pause-

奇怪的问题

 <button  ng-show="scene.audio" class="button icon {{scene.audioIcon}}" 
ng-click="playAudio(scene)"/>
   $scope.playAudio = function ($scene){

    if($scene.audioIcon == "ion-ios-play-outline") {
      $scene.audioIcon = "ion-ios-pause-outline";
      media = new Media($scene.audio.src,function(){
        **$scene.audioIcon = "ion-ios-play-outline";**
        media.stop();
        media.release();
      },null);
      media.scene = $scene;
      media.play();
    }
    else if(media){
      media.stop();
      media.release();
      $scene.audioIcon = "ion-ios-play-outline";
    }

$scope.playAudio=函数($scene){
如果($scene.audioIcon==“ion ios播放大纲”){
$scene.audioIcon=“ion ios暂停大纲”;
媒体=新媒体($scene.audio.src,function()){
**$scene.audioIcon=“ion ios播放大纲”**
media.stop();
媒体发布();
},空);
media.scene=$scene;
媒体播放();
}
如果有的话(媒体){
media.stop();
媒体发布();
$scene.audioIcon=“ion ios播放大纲”;
}
我可以在2个单击功能上更新$scene.audio图标,这会更新UI中的按钮。但是,在新媒体的onComplete功能中,此功能在音频完成时调用,并且$scene audio图标会更改,但它不会在UI中更新

我想是因为它来得晚


有什么方法可以触发按钮的更新吗?

angularjs不知道应该检查更改,因为完成事件是从本机代码调用的。您应该将代码包装在
$scope.$apply()

诸如此类:

media = new Media($scene.audio.src,function() {
    $scope.$apply(function() {
        $scene.audioIcon = "ion-ios-play-outline";
        media.stop();
        media.release();
    });
},null);

angularjs不知道应该检查更改,因为完成事件是从本机代码调用的。您应该将代码包装在
$scope.$apply()

诸如此类:

media = new Media($scene.audio.src,function() {
    $scope.$apply(function() {
        $scene.audioIcon = "ion-ios-play-outline";
        media.stop();
        media.release();
    });
},null);

正是你的天才。谢谢!正是你的天才。谢谢!