Angularjs - how to load images/videos after clicking on its title

Katie S.

I wrote a directive which opens hidden details when user clicks the title, but I'm not sure what is the best strategy to load images using angular directive. I'd like to only load images(array) and videos if user clicks on its title. I don't want to preload images/videos.

I have created a 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>
OZ_

Use ng-if (available in AngularJS 1.1.5)
This directive will not render element at all, if condition is 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>'
    }
})

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

How to get id of tr after clicking its td's element?

From Dev

How to hide dropdown div after clicking aside of its parent menu?

From Dev

After clicking on an actionlink, how do I reference back to its linkText?

From Dev

Selenium Webdriver/ C# - how to confirm page load after clicking?

From Dev

How to load an image with jquery after clicking a button and get data with ajax?

From Dev

Selenium Webdriver/ C# - how to confirm page load after clicking?

From Dev

How to dynamically set title tag on page load in AngularJS?

From Dev

AngularJS Thumbnails from JSON file would not load; how to display large image by clicking on thumbnail

From Dev

PhpUnit Not waiting to load page after clicking submit

From Dev

JavaScript: Load Images in a div after clicking a button

From Dev

load() specific href after clicking a element

From Dev

HMSegmentedControl how to refresh its title

From Dev

AngularJs:Log in happening only after clicking twice

From Dev

Select empties after clicking outside AngularJS/bootstrap

From Dev

Angularjs Updated table after clicking a link with parameters

From Dev

After submitting form, how to wait for element to load before clicking on said element? (Selenium / Python)

From Dev

AngularJS Directive - How to refresh template after async data load

From Dev

How to automatically load/refresh view data after delete in AngularJS?

From Dev

AngularJS Directive - How to refresh template after async data load

From Dev

How to automatically load/refresh view data after delete in AngularJS?

From Dev

How to show red border at Invalid Input Box after clicking Submit button with angularjs

From Dev

How to get value in a td by clicking its button

From Dev

How to close sidemenu on clicking on of its list items?

From Dev

How to get value in a td by clicking its button

From Dev

Select radio button on clicking parent div and get its value in angularJS

From Dev

Load controller after bootstrap angularjs

From Dev

Load views after services in angularjs

From Dev

Angularjs load after initial json

From Dev

Angularjs load after initial json

Related Related

  1. 1

    How to get id of tr after clicking its td's element?

  2. 2

    How to hide dropdown div after clicking aside of its parent menu?

  3. 3

    After clicking on an actionlink, how do I reference back to its linkText?

  4. 4

    Selenium Webdriver/ C# - how to confirm page load after clicking?

  5. 5

    How to load an image with jquery after clicking a button and get data with ajax?

  6. 6

    Selenium Webdriver/ C# - how to confirm page load after clicking?

  7. 7

    How to dynamically set title tag on page load in AngularJS?

  8. 8

    AngularJS Thumbnails from JSON file would not load; how to display large image by clicking on thumbnail

  9. 9

    PhpUnit Not waiting to load page after clicking submit

  10. 10

    JavaScript: Load Images in a div after clicking a button

  11. 11

    load() specific href after clicking a element

  12. 12

    HMSegmentedControl how to refresh its title

  13. 13

    AngularJs:Log in happening only after clicking twice

  14. 14

    Select empties after clicking outside AngularJS/bootstrap

  15. 15

    Angularjs Updated table after clicking a link with parameters

  16. 16

    After submitting form, how to wait for element to load before clicking on said element? (Selenium / Python)

  17. 17

    AngularJS Directive - How to refresh template after async data load

  18. 18

    How to automatically load/refresh view data after delete in AngularJS?

  19. 19

    AngularJS Directive - How to refresh template after async data load

  20. 20

    How to automatically load/refresh view data after delete in AngularJS?

  21. 21

    How to show red border at Invalid Input Box after clicking Submit button with angularjs

  22. 22

    How to get value in a td by clicking its button

  23. 23

    How to close sidemenu on clicking on of its list items?

  24. 24

    How to get value in a td by clicking its button

  25. 25

    Select radio button on clicking parent div and get its value in angularJS

  26. 26

    Load controller after bootstrap angularjs

  27. 27

    Load views after services in angularjs

  28. 28

    Angularjs load after initial json

  29. 29

    Angularjs load after initial json

HotTag

Archive