Angularjs - 如何在单击其标题后加载图像/视频
Angularjs - how to load images/videos after clicking on its title
我写了一个指令,当用户单击标题时会打开隐藏的细节,但我不确定使用角度指令加载图像的最佳策略是什么。我只想在用户单击其标题时加载图像(数组)和视频。我不想预加载图像/视频。
我创建了一个 jsfiddle。
http://jsfiddle.net/ZdyP2/9/
<body ng-app="App">
<div ng-controller="MoviesCtrl">
<div ng-repeat="movie in movies" data-movies></div>
</div>
</body>
<script>
angular.module('App', []).
// sample data
controller('MoviesCtrl', function($scope){
$scope.movies =[
{
'title': 'Despicable Me 2',
'images':['http://upload.wikimedia.org/wikipedia/en/d/db/Despicable_Me_Poster.jpg', 'http://intl.despicableme.com/splashpage/images/centergraphic.jpg'],
'video': 'XQG89cwhmJU'
},
{
'title': ' Monsters University',
'images': ['http://upload.wikimedia.org/wikipedia/en/2/2a/Monsters_University_poster_3.jpg'],
'video': 'ODePHkWSg-U'
}
]
}).
directive('movies', function(){
return {
template: '{{movie.title}}'+
'<div class="movieInfo"><h2>{{movie.title}}</h2>' +
'<img src="{{image}}" ng-repeat="image in movie.images"><br>' +
'<iframe src="http://www.youtube.com/embed/{{movie.video}}"></iframe></div>',
link: function(scope, elem, attrs){
elem.bind('click', function(){
// load image/video now
elem.find('.movieInfo').toggle();
})
}
}
})
</script>
使用 ng-if(在 AngularJS 1.1.5 中可用)
如果条件为 false,则此指令根本不会呈现元素。
http://jsfiddle.net/dUz5a/5/
directive('movies', function(){
return {
template: '<div ng-click="movie.show=!movie.show">{{movie.title}}</div>'+
'<div ng-if="movie.show"><h2>{{movie.title}}</h2>' +
'<img ng-src="{{image}}" ng-repeat="image in movie.images"><br>' +
'<iframe ng-src="http://www.youtube.com/embed/{{movie.video}}"></iframe></div>'
}
})
相关文章:
- 如何在谷歌字体加载时显示加载图像
- 预加载图像并插入DOM
- 加载图像时加载图标
- 在页面启动期间加载图像
- 预加载图像image.onload脚本MVC
- 可以't在我的React组件中加载图像
- 加载图像后调整HTML画布的大小
- HTML/JS github页面项目没有't在使用firefox运行时加载图像或声音
- 错误:$injector:modulerr加载图像时模块处于角度
- 谷歌地图加载后隐藏加载图像
- 在照片查看器(Javascript和jQuery)中异步加载图像时可能出现错误
- 正在从字节数组加载图像内容
- 网页上已有tinymce加载图像列表
- 单击提交按钮后加载图像将冻结
- 如何使用Express'正确加载图像;s的静态中间件
- 使用jquery即时加载图像
- Html5画布使用JCanvasScript加载图像
- Javascript使用JCanvaScript在画布中加载图像
- 使用jquery/ajax显示加载图像
- ajax缓存false无法加载图像