javascript - AngularJS: Display one specific object in an array at a time -
i want display 1 specific object json array @ a time:
{"records":[ {"name":"pogrom wichra - ole\u015bnica ","desc":"dystans: ok 7km (bieg w stylu poligonu s\u0142u\u017cb specjalnych polski) trasa: woda, b\u0142oto, trz\u0119sawisko, g\u0119ste zaro\u015bla, przeszkody naturalne sztuczne http:www.pogromwichra.pl","image":"9833.jpg"}, {"name":"bieg herosa ? pustynia b\u0142\u0119dowska","desc":"dystans: opcja wybrania 9 km, 10kmp\u0142aski lub z przeszkodami, bieg 3 9 godzinny trasa: piasek, piasek, piasek, wzniesienia, przeszkody naturalne sztuczne www.biegherosa.pl","image":"6273.jpg"}, {"name":"dycha na 5 ? pi\u0105tkowice (ko\u0142o pabianic)","desc":"dystans: 10km z niespodziank\u0105 trasa: nawierzchnia utwardzona ok. 5%, drogi \u015bcie\u017cki gruntowe 95%. na trasie pokonania tor motokrosowy z ostrymi podbiegami zbiegami po nier\u00f3wnym pod\u0142o\u017cu. obcinek bardzo trudny technicznie. www.koronapabianice.pl ","image":"5383.jpg"}, {"name":"bieg rze\u017aniczka (ma\u0142y rze\u017anik) ? cisna (bieszczady)","desc":"dystans: ok. 27km trasa: do\u015b\u0107 trudna trasa g\u00f3rska, chocia\u017c przepi\u0119kna malownicza www.biegrzeznika.pl\/rzezniczek\/","image":"4640.jpg"}, {"name":"runmageddon ? wiele miast w polsce","desc":"dystans: 6, 12, 21km trasa: woda, b\u0142oto, ogie\u0144, bagno, przeszkody linowe, sko\u015bne pionowe \u015bciany, zasieki, okopy www.runmageddon.pl","image":"7378.jpg"},{"name":"grom challende - si\u0141a honor - o\u015brodek szkolenia poligonowego grom gr","desc":"dystans: 20km trasa: mega wyczerpuj\u0105ca, jest tam wszystko o czym by\u015b pomy\u015bla\u0142 ?. start tylko zespo\u0142owy (2-osobowy), limit czasowy 5 godzin","image":"8815.jpg"}, {"name":"biegowa bitwa o \u0141\u00f3d\u017a - \u0141\u00f3d\u017a ","desc":"dystans: ok.13km trasa: woda, b\u0142oto, trz\u0119sawisko, g\u0119ste zaro\u015bla, przeszkody naturalne sztuczne facebook.com\/bitwaolodz","image":"7019.jpg"}, {"name":"bieg po wygas\u0142ych wulkanach -z\u0142otoryja","desc":"dystans: 13-14km trasa: trasa ekstremalna w terenie zalesionym, b\u0142oto, rowy melioracyjne, trz\u0119sawisko, dno jeziora, przeszkody sztuczne naturalne, strome podbiegi. www.biegwulkanow.pl","image":"8465.jpg"} ]}
in javascript file, put object on scope.
$http.get("link/to/my/json/file").success(function (response) { $scope.recommends = response.records; });
finally, html looks more or less this:
<article class="animate-switch" ng-switch-when="polecanybieg"> <div ng-repeat="recomended in recommends"> <h1>{{recomended.name}}</h1><hr> <img class="recomendedrunimg" ng-src="../run/{{recomended.image}}"><br><br> <p>{{recomended.desc}}</p> </div> </article>
all want display single record @ time, , change clicking on button on page.
using ng-click
, can call setter function on controller store selected recomended
item in variable
then using ng-show
decide if should display additional data ( when current recomended
object equals selected 1 )
http://jsfiddle.net/kcbxg14p/1/
js
angular.module('app', []) .controller('todoctrl', function ($scope) { $scope.setselecteditem = function (item) { $scope.selecteditem = item; }; $scope.recommends = [{ "name": "pogrom wichra - ole\u015bnica ", "desc": "dystans: ok 7km (bieg w stylu poligonu s\u0142u\u017cb specjalnych polski) trasa: woda, b\u0142oto, trz\u0119sawisko, g\u0119ste zaro\u015bla, przeszkody naturalne sztuczne http:www.pogromwichra.pl", "image": "9833.jpg" }, ... ]; });
html
<div ng-app="app"> <div class="container" ng-controller="todoctrl"> <div ng-repeat="recomended in recommends"> <a class="btn btn-primary" ng-click="setselecteditem(recomended)"> click view {{recomended.name}} </a> <div class="well" ng-show="selecteditem == recomended"> <h1>{{recomended.name}}</h1> <hr> <img class="recomendedrunimg" ng-src="../run/{{recomended.image}}"> <br> <br> <p>{{recomended.desc}}</p> </div> </div> </div> </div>
Comments
Post a Comment