首页 > 代码库 > angularjs中动态为audio绑定src问题总结

angularjs中动态为audio绑定src问题总结

先上代码

 <div class="block_area block_audio" ng-show="model.url">
        <audio controls="controls" ng-click="open()" ng-src="{{model.url}}"></audio>
        <button class="close btn_delete" ng-click="remove()">&times;</button>
</div>

按照以往的经验,只要使用 ng-src 捆绑数据就可以了。 但是audio无法正常绑定url数据。

(省略中间各种尝试,直接上解决办法)

1,对应得control中添加 $sce

2,使用$sce.trustAsResourceUrl(捆绑的url)处理,然后进行捆绑就ok啦

以下是示例代码,供参考

functionAppCtrl($scope, $sce){// ...
    $scope.setProject =function(id){
      $scope.currentProject = $scope.projects[id];
      $scope.currentProjectUrl = $sce.trustAsResourceUrl($scope.currentProject.url);}}

我是这样做的,也可以,如下:

//control 
var modalInstanceCtrl = function ($scope,  $sce) {
                            $scope.sce = $sce.trustAsResourceUrl;
                             ....
}


//html
 <div class="block_area block_audio" ng-show="model.url">
        <audio controls="controls" popover-title="{{model.url}}" ng-click="open()" ng-src="http://www.mamicode.com/{{sce(model.url)}}"></audio>
        <button class="close btn_delete" ng-click="remove()">&times;</button>
</div>

谢谢。

angularjs中动态为audio绑定src问题总结