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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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="{{sce(model.url)}}"></audio>
        <button class="close btn_delete" ng-click="remove()">&times;</button>
</div>

谢谢。

以上是关于angularjs中动态为audio绑定src问题总结的主要内容,如果未能解决你的问题,请参考以下文章

当绑定项为对象并动态修改时,单向绑定不起作用

AngularJS:将数据绑定到动态创建的 HTML

AngularJS + JQuery:如何在 angularjs 中获取动态内容

重构与动态为angularjs栏位赋值或获取值

如何将文件夹中包含的控制器动态绑定到angularjs中的视图

Angularjs 动态添加指令并绑定事件