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>

谢谢。

时间: 2024-10-22 10:32:00

angularjs中动态为audio绑定src问题总结的相关文章

angularjs中动态为audio绑定src

今天在angularjs中用audio的时候碰到的这些问题,查阅http://www.cnblogs.com/rachelanlan/p/3598070.html获得解决,感谢! <div class="block_area block_audio" ng-show="model.url"> <audio controls="controls" ng-click="open()" ng-src="{

深入学习AngularJS中数据的双向绑定机制

来自:http://www.jb51.net/article/80454.htm Angular JS (Angular.JS) 是一组用来开发Web页面的框架.模板以及数据绑定和丰富UI组件.它支持整个开发进程,提供web应用的架构,无需进行手工DOM操作. AngularJS很小,只有60K,兼容主流浏览器,与 jQuery 配合良好.双向数据绑定可能是AngularJS最酷最实用的特性,将MVC的原理展现地淋漓尽致. AngularJS的工作原理是:HTML模板将会被浏览器解析到DOM中,

AngularJS中播放音频audio

一般情况下对于audio标签,angularjs是不支持的. 用过滤器可以解决这个问题. myModule.filter('trustUrl',function($sce){ return function (input) { return $sce.trustAsResourceUrl(input); } }); myModule.controller('myController',function($scope){ //组装chat的信息 ... //播放 $scope.playAudio

jQuery1.9&amp;2.0及其以上版本中动态元素 on绑定事件无效的解决方案

jQuery 1.9/2.0/2.1及其以上版本无法使用live函数了,然而jQuery 1.9及其以上版本提供了on函数来代替.本文讲解了jQuery on函数的使用方法,以及在使用jQuery函数中遇到的一些问题. $(selector).on(event,childSelector,data,function,map) 各个参数说明如下: 参数 描述 event 必需.规定要从被选元素移除的一个或多个事件或命名空间.由空格分隔多个事件值.必须是有效的事件. childSelector 可选

在后台代码中动态生成pivot项并设置EventTrigger和Action的绑定

最近在做今日头条WP的过程中,遇到需要动态生成Pivot项的问题.第一个版本是把几个频道写死在xaml里了,事件绑定也写在xaml里,每个频道绑定一个ObservableCollection<ArticleItem>.xaml中一个Pivot项的代码大体如下: <phone:PivotItem Header="热点"> <Grid Margin="12,0,0,0" > <Grid.RowDefinitions> &l

kendoui grid中动态清空绑定数据源

本来尝试用jquery中的empth()方法去清空节点(清空元素中的所有后代节点),但发现还是不起作用,后来从官网中了解到datasource的用法,直接改变数据源后,不用重新刷新grid,界面就会改变. $("#grid").data("kendoGrid").dataSource.data([]); //清空数据源 $("#grid").data("kendoGrid").dataSource.data([{ name:

HTML中动态生成内容的事件绑定问题【转载】

转自 http://www.hitoy.org/event-binding-problem-of-dynamically-generated-content.html 由于实际的需要,有时需要往网页中动态的插入HTML内容,并在插入的节点中绑定事件处理函数.我们知道,用Javascript向HTML文档中插入内容,有两种方法,一种是在写HTML代码写入JS,然后插入到文档中:另外一种是通过ajax的方式,从服务器获取数据,然后用js把获取的数据经过处理后插入文档中:两种方法各有特点,本文将分析新

解析angularjs中的绑定策略

一.首先回顾一下有哪些绑定策略? 看这个实在是有点抽象了,我们来看具体的实例分析吧! 二.简单的Demo实例 @绑定:传递一个字符串作为属性的值.比如 str : '@string' 控制器中代码部分示例: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 myDirec.controller('MyCtrl3',['$scope',function($scope){    $scope.ctrlFlavor=鸡尾酒;        $scope.sayHello

AngularJS学习--- AngularJS中数据双向绑定(two-way data-binding) orderBy step4

1.切换工作目录 git checkout step-4 #切换分支,切换到第4步 npm start #启动项目 2.代码 app/index.html Search: <input ng-model="query"> Sort by: <select ng-model="orderProp"> <option value="name">Alphabetical</option> <opti