简体   繁体   English

如何结合使用锚标记和routeParams通过ID获取JSON

[英]How to combine use of anchor tags and routeParams to fetch JSON by ID

I am kind of new in Angular and have been trying my level best to understand it. 我是Angular的新手,并且一直在尽我最大的努力去理解它。 I have a problem. 我有个问题。 I would like to use an anchor tag to take me to a specific id of a json file.I just dont know how <div ng-repeat="portfolio in portfolios" class=" portfolio-item col-xs-12 col-sm-6 col-md-3 shuffle-item filtered animated" style="margin:0; padding:0;" id="grid"> <div class="portfolio"> <figure class="effect-julia"> <img ng-src="{{portfolio.image}}"> <figcaption> <div class="socials"> <a href="#/portfolio/{{detail.detailid}}"><i class="fa fa-share animated"></i></a> </div> <div class="scoial-heading"> <p> {{portfolio.name}} </p> <strong>{{portfolio.description}}</strong> </div> </figcaption> </figure> </div> <!-- /.portfolio --> </div> 我想使用锚标签将我带到json文件的特定ID。我只是不知道<div ng-repeat="portfolio in portfolios" class=" portfolio-item col-xs-12 col-sm-6 col-md-3 shuffle-item filtered animated" style="margin:0; padding:0;" id="grid"> <div class="portfolio"> <figure class="effect-julia"> <img ng-src="{{portfolio.image}}"> <figcaption> <div class="socials"> <a href="#/portfolio/{{detail.detailid}}"><i class="fa fa-share animated"></i></a> </div> <div class="scoial-heading"> <p> {{portfolio.name}} </p> <strong>{{portfolio.description}}</strong> </div> </figcaption> </figure> </div> <!-- /.portfolio --> </div> Portfolios <div ng-repeat="portfolio in portfolios" class=" portfolio-item col-xs-12 col-sm-6 col-md-3 shuffle-item filtered animated" style="margin:0; padding:0;" id="grid"> <div class="portfolio"> <figure class="effect-julia"> <img ng-src="{{portfolio.image}}"> <figcaption> <div class="socials"> <a href="#/portfolio/{{detail.detailid}}"><i class="fa fa-share animated"></i></a> </div> <div class="scoial-heading"> <p> {{portfolio.name}} </p> <strong>{{portfolio.description}}</strong> </div> </figcaption> </figure> </div> <!-- /.portfolio --> </div> Portfolio <div ng-repeat="portfolio in portfolios" class=" portfolio-item col-xs-12 col-sm-6 col-md-3 shuffle-item filtered animated" style="margin:0; padding:0;" id="grid"> <div class="portfolio"> <figure class="effect-julia"> <img ng-src="{{portfolio.image}}"> <figcaption> <div class="socials"> <a href="#/portfolio/{{detail.detailid}}"><i class="fa fa-share animated"></i></a> </div> <div class="scoial-heading"> <p> {{portfolio.name}} </p> <strong>{{portfolio.description}}</strong> </div> </figcaption> </figure> </div> <!-- /.portfolio --> </div> <div ng-repeat="portfolio in portfolios" class=" portfolio-item col-xs-12 col-sm-6 col-md-3 shuffle-item filtered animated" style="margin:0; padding:0;" id="grid"> <div class="portfolio"> <figure class="effect-julia"> <img ng-src="{{portfolio.image}}"> <figcaption> <div class="socials"> <a href="#/portfolio/{{detail.detailid}}"><i class="fa fa-share animated"></i></a> </div> <div class="scoial-heading"> <p> {{portfolio.name}} </p> <strong>{{portfolio.description}}</strong> </div> </figcaption> </figure> </div> <!-- /.portfolio --> </div> Here are my codes: <div ng-repeat="portfolio in portfolios" class=" portfolio-item col-xs-12 col-sm-6 col-md-3 shuffle-item filtered animated" style="margin:0; padding:0;" id="grid"> <div class="portfolio"> <figure class="effect-julia"> <img ng-src="{{portfolio.image}}"> <figcaption> <div class="socials"> <a href="#/portfolio/{{detail.detailid}}"><i class="fa fa-share animated"></i></a> </div> <div class="scoial-heading"> <p> {{portfolio.name}} </p> <strong>{{portfolio.description}}</strong> </div> </figcaption> </figure> </div> <!-- /.portfolio --> </div>这是我的代码:

angular.module('app', [
'ngRoute',
'app.controllers',
'angular-scroll-animate',
'ui.bootstrap',
'ngMessages'
]).config(['$routeProvider', function($routeProvider) {
$routeProvider
    .when('/', {
        templateUrl: 'views/home.html',
        controller: 'homeCtrl'

    })
    .when('/about', {
        templateUrl: 'views/about.html',
        controller: 'aboutctrl'
    })
    .when('/services', {
        templateUrl: 'views/services.html',
        controller: 'servicesCtrl'

    }).
when('/portfolio', {
        templateUrl: 'views/portfolio.html',
        controller: 'portfolioCtrl'
    })
    .when('/portfolio/:id', {
        templateUrl: 'views/portfolio-detail.html',
        controller: 'portfolioController'
    }).
when('/blog', {
    templateUrl: 'views/blog.html',
    controller: 'blogCtrl'
}).
when('/project', {
    templateUrl: 'views/process_form.html',
    controller: 'projectCtrl'
}).otherwise({
    redirectTo: '/'
});
}]);

angular.module('app.controllers', [])
.controller('homeCtrl', ['$scope', '$rootScope','$http', function($scope, $rootScope,$http) {
    $rootScope.Title = "Home";
    $scope.animateElementIn = function($el) {
        $el.addClass('animated fadeInRight');
    };

    $scope.animateElementOut = function($el) {

    };
    $http.get('data/portfolios.json').success(function(data){
        $scope.portfolios= data;
    });
}])
.controller('portfolioCtrl', ['$scope', '$rootScope', function($scope, $rootScope) {
    $rootScope.Title = "Portfolio";
    $scope.myInterval = 5000;
    $scope.noWrapSlides = false;
    var slides = $scope.slides = [{
        image: 'http://placehold.it/750x500'
    }, {
        image: 'http://placehold.it/750x500'
    }, {
        image: 'http://placehold.it/750x500'
    }];

}])
.controller('servicesCtrl', ['$rootScope', function($rootScope) {
    $rootScope.Title = "Services";
}])
.controller('aboutctrl', ['$rootScope', function($rootScope) {
    $rootScope.Title = "About";
}])
.controller('blogCtrl', ['$rootScope', function($rootScope) {
    $rootScope.Title = "Blog";
}])
.controller('projectCtrl', ['$rootScope', function($rootScope) {
    $rootScope.Title = "Project";
}])
.controller('portfolioController', ['$scope', '$http', '$routeParams', function($scope, $http, $routeParams){
    $http.get('data/detail.json').success(function(data){
        $scope.detail = data[$routeParams.id];
    });
}]);

My json files: 我的json文件:

[
 {
        "image": "img/portfolio01.jpg",
        "name": "SleepShareStay",
        "description": "Short-Term Listing Online Platform",
        "id": 0


    }, {
        "image": "img/portfolio02.jpg",
        "name": "Boyd Photography",
        "description": "Professional Photography Studio",
        "id": 1

    }, {
        "image": "img/portfolio03.jpg",
        "name": "Arusha Flour Supply",
        "description": "Tanzania website",
        "id": 2

    }, {
        "image": "img/portfolio04.jpg",
        "name": "Boyd Photography",
        "description": "Facebook Profile"

    }, {
        "image": "img/portfolio05.jpg",
        "name": "EveryShilling App",
        "description": "Web and mobile App ERP solution"

    }, {
        "image": "img/portfolio05.jpg",
        "name": "Ecosolutions",
        "description": "Environmental NGO website"

    }
]

[
{
    "title": "First Post",

    "content": "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quas nisi odio neque aliquam magni explicabo sint iste incidunt minus itaque ducimus voluptas similique eos natus nobis alias quam accusamus, aspernatur doloremque amet, nesciunt esse velit. Repudiandae sunt dolorem esse eum, qui aliquid pariatur velit enim autem temporibus minima cumque ipsa in, accusantium sed deleniti natus sequi illo nihil ipsum quam est sit dignissimos itaque quo? Aperiam qui et harum porro eligendi dolore tempora accusamus culpa voluptate animi aliquid alias necessitatibus quod ipsam hic, dolorem expedita suscipit, nobis quas quia. A eum ullam alias saepe accusantium deleniti doloremque tempora assumenda error ipsam incidunt quam optio itaque atque minima eos dicta quidem officiis, obcaecati architecto voluptas, debitis illo consequatur. Blanditiis debitis quisquam obcaecati possimus modi, repudiandae alias vero, officia doloremque numquam deserunt nobis illo ipsum ex consectetur iure minima doloribus quasi! Libero iure nulla placeat omnis magni error ducimus facere, magnam officia, assumenda delectus commodi qui praesentium eaque quaerat perspiciatis pariatur, temporibus quibusdam. Accusantium a accusamus quas, ut quisquam dignissimos officia, in maiores explicabo temporibus eaque velit iure omnis totam delectus amet laboriosam debitis pariatur consectetur. Laborum, vel accusamus illo officiis! Minima recusandae, earum numquam architecto vitae illo nostrum fugit sequi! Non in ratione delectus minima quae eligendi temporibus cupiditate! Iusto debitis hic nostrum alias libero dolores obcaecati veritatis reprehenderit ipsam eius unde fugiat, natus numquam minima saepe et totam dignissimos. Molestiae deleniti consequuntur deserunt illum, quas rem. Dolore soluta non culpa, officiis excepturi, beatae, tempore, odit aliquam magnam eum delectus. Aspernatur fugit a facilis eos amet. Ab modi atque dolor repudiandae autem similique nostrum fugit excepturi commodi nam reprehenderit voluptatem deserunt ipsam magni ullam aliquam, molestiae aut hic alias nesciunt cupiditate expedita quidem ipsum. Labore maiores facilis possimus repudiandae itaque autem natus at dignissimos enim ratione accusantium perferendis ut perspiciatis in, recusandae culpa commodi repellat quod veniam. Sequi magni ut iusto autem a vero sapiente tempora sunt iure distinctio itaque dicta quidem, nam provident dolorum est quam, nesciunt veritatis natus nostrum. Beatae, modi eveniet provident magni cumque laboriosam non quasi praesentium. Facilis debitis et nam veniam sint optio ullam nisi reprehenderit, cumque praesentium modi dicta velit, soluta dolor eum voluptates odit consequuntur. Soluta nam, magni quibusdam! Animi temporibus eum dolor quas sed ex aliquid tempora, quis magni sunt esse ipsum voluptatibus illum sit, magnam accusantium quisquam distinctio. Facere at tempore maxime placeat reprehenderit sed sint ipsa ad suscipit veritatis quos illo sequi facilis hic veniam nihil maiores error doloremque, amet illum earum. In, quidem dolores obcaecati accusamus esse dolore, sit itaque ab. Dolor iure culpa provident incidunt. Blanditiis earum, commodi id ad ducimus praesentium obcaecati doloribus sunt, aut repellat veniam impedit atque temporibus dolorem facilis explicabo maxime facere reiciendis neque modi autem corporis dolor fuga! Aut voluptatem perspiciatis obcaecati quos eius est aspernatur, exercitationem quam laborum, eos, inventore explicabo. A nemo, rerum tenetur veritatis perferendis, inventore commodi neque porro facere accusamus totam. Aut quaerat accusamus adipisci sunt aliquid ducimus similique eum assumenda autem, quidem, reiciendis asperiores vitae veniam hic quas quisquam?",
    "id": 0
}, {
    "title": "Second Post",

    "content": "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Impedit voluptatum laudantium soluta deserunt optio voluptatibus quod facilis ab excepturi libero. Dolore quidem quia reprehenderit explicabo, pariatur ad, repudiandae sit. Explicabo facere odio consectetur excepturi. Similique non, atque impedit? Dolor alias, numquam, quia inventore, dolorem nobis nemo ipsam asperiores recusandae fugit tempora ducimus, provident vitae quae! Iste accusantium hic voluptatem, maiores quo suscipit veniam placeat dolorem. Quidem ducimus, est velit beatae quae eveniet laboriosam atque vero consequatur sed! Libero laboriosam consequuntur, delectus dignissimos. Unde, a? Magnam totam labore amet quasi nemo impedit explicabo! Repellendus possimus odit mollitia, fugiat laborum soluta velit deserunt tempore vero repellat autem a perferendis odio, sunt sapiente nobis illo explicabo. Inventore dignissimos quae ea hic cupiditate voluptates eos ratione voluptatibus laboriosam illo delectus odio voluptatem exercitationem maiores ipsum totam similique itaque minus nam, provident maxime beatae temporibus perferendis aliquam. Tempora modi, sequi quaerat dolor quas numquam magni error, maxime officia. Sapiente voluptatem labore quidem quia facere esse dolores ipsam iusto amet in nulla aliquam dignissimos harum ducimus, quos, perspiciatis molestiae reiciendis est, voluptates. Enim libero repellendus, voluptatem recusandae dolorem natus ex veniam blanditiis consequatur commodi doloremque quasi similique aliquid, sit tempore, sequi optio! Ad, aliquam quae, amet ratione sequi quibusdam vitae magnam eaque officia labore quidem odit quasi. Enim dolore saepe qui consequatur veniam similique eum quia eligendi obcaecati porro, repudiandae quam ratione distinctio sit fuga at! Reprehenderit magni, sequi sapiente quasi maxime laboriosam, optio ullam facere pariatur amet iure debitis possimus porro odio sed tempora illo eveniet deserunt illum eos enim dolorem, assumenda. Odit et soluta quas laudantium libero placeat, aut provident, maxime incidunt sapiente ad, veniam ipsam, ex odio laborum expedita harum rem. Ducimus, ad voluptas modi suscipit, recusandae nemo perferendis doloremque labore, asperiores nisi explicabo. Impedit libero at excepturi voluptatum porro, vel nihil et dolores voluptas molestias vero maiores deleniti, possimus eos architecto cum, sapiente non cupiditate soluta id? Dignissimos, fugiat, temporibus. Soluta aut alias officia, doloremque dolores est impedit quo non ullam dolore dolor quos, autem nostrum magni excepturi sed minima optio, incidunt ipsam similique praesentium vel nam sint tempore! Dolorum quas, eius, quis rerum et ipsam quod, vitae quidem hic officia inventore. Alias itaque vero temporibus nemo rerum, cumque esse labore, libero, suscipit blanditiis saepe illum perferendis omnis hic nulla nostrum unde provident eaque a fuga iste pariatur delectus aliquam dolore dicta! Praesentium ipsa numquam quam sed impedit quibusdam iure accusamus, rem.",
    "id": 1
}, {
    "title": "Third Post",

    "content": "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Porro repudiandae ut nostrum ab tenetur maiores illum ipsa vitae iste earum, commodi, voluptatibus quisquam saepe. Esse ab mollitia tempora expedita, assumenda aperiam nobis? Ipsa obcaecati autem, sit magnam magni consequuntur veritatis praesentium veniam nulla dolores repellat doloribus voluptatibus itaque aperiam. Suscipit accusantium, eligendi tempora error minus, nemo, obcaecati quam sapiente inventore eaque eius voluptatum nesciunt! Accusamus repellendus explicabo labore ipsa eligendi fuga, itaque non asperiores minima ullam perspiciatis, incidunt sequi, enim ipsum cum, earum sit quibusdam ad culpa architecto qui voluptatem quaerat impedit. At beatae ullam dolores incidunt sint. Amet quasi vel laborum eius cum mollitia maiores similique obcaecati. Unde necessitatibus ullam, possimus. Labore, natus. Quis iusto ipsa maiores porro quae odio, quas libero in ea excepturi incidunt harum. Harum magni laudantium earum, aperiam officiis quidem reprehenderit eaque deserunt possimus illum commodi excepturi dicta debitis tenetur. Aut, eaque ipsam necessitatibus minus, doloremque, provident quas quibusdam cupiditate deleniti veniam quasi? Perspiciatis, cupiditate totam. Officiis quo pariatur eligendi, cupiditate sed dolorem ad reiciendis nobis est eaque facilis fugiat nihil voluptatum, obcaecati quisquam sapiente sunt labore et mollitia distinctio molestias eius tempora quae vel. At fugiat soluta in, asperiores eius odio voluptatum nobis quo tempore quidem, labore, iure omnis qui aliquid dolores non accusantium quam harum dolore ea suscipit, deserunt. Quasi repudiandae voluptate laudantium cum, provident beatae sapiente illo atque quas eius consequatur autem ipsa libero, ab tenetur, magni omnis itaque ipsum asperiores optio earum eaque. Quam a iusto delectus accusamus, inventore sint earum repellendus, deserunt maxime fugit magnam. Ipsum hic, illo officiis earum placeat harum neque recusandae vero quidem quibusdam consequatur corporis vitae odio nisi fuga, quod unde adipisci enim nam quae numquam! Cupiditate cumque ratione rem eius eos. Praesentium iusto dolores eos atque doloribus debitis eaque quasi ut mollitia, nisi, ipsam error expedita nobis, unde suscipit laborum quo? Incidunt necessitatibus reiciendis nulla minus dicta rerum dolor illo delectus tenetur quae, impedit reprehenderit ipsum voluptates numquam laborum ipsa. Voluptas, asperiores, ratione consectetur beatae consequatur praesentium cumque autem provident officiis tempora laudantium veniam voluptatem consequuntur explicabo tempore dolores est amet suscipit eaque delectus saepe natus. Rerum optio, suscipit quae libero reprehenderit dolorem neque. Sapiente officiis aut, odit asperiores amet unde voluptatum itaque hic dolor. Reprehenderit totam fuga voluptate iste quis magni illo sequi quod nisi consectetur obcaecati ducimus fugiat harum corrupti optio, nulla dolor placeat tenetur eaque recusandae officia eius facilis libero! Error nemo explicabo sunt minima, veniam dolorem. Porro atque natus totam in rem voluptates eaque, perspiciatis nemo inventore, maiores iste id, culpa, cum distinctio incidunt possimus earum. Praesentium eveniet libero ad voluptatem quas modi, animi id ducimus qui necessitatibus aliquam odio, reprehenderit atque hic accusantium molestias consequatur eligendi, asperiores autem voluptatibus cum. Maxime fuga recusandae pariatur perferendis totam magni eligendi enim sunt, voluptas quae laudantium, incidunt cum iure, ut est laboriosam deleniti at iste voluptatum assumenda vitae dignissimos! Quam possimus, eveniet illo, eos vel aperiam. Ratione iusto tempora dicta, molestiae veniam. Quam, suscipit accusantium commodi praesentium eveniet maxime dolore, iure ipsum eius. Numquam obcaecati molestiae dicta, maxime iusto cupiditate omnis assumenda nobis quisquam. Perspiciatis, dolorem? Placeat, dignissimos dolorum alias nulla tenetur aperiam enim asperiores eveniet veniam maiores, illo? Cupiditate beatae voluptas voluptatum nulla eveniet qui quasi placeat impedit inventore possimus, minus doloremque ipsum, repellat, cumque, itaque! Voluptatum, repellendus quos corporis? Mollitia est amet quisquam, at sunt distinctio vero odio sapiente autem non beatae possimus architecto reiciendis labore voluptatum dicta natus totam delectus eveniet dolor eius quasi incidunt reprehenderit nemo nihil. Pariatur, accusantium animi itaque neque quam laudantium! Nulla distinctio eos, animi impedit, sed excepturi voluptatem, tempore odio natus odit voluptas deleniti velit.",
    "id": 2
}
]

I would like when someone clicks on the first anchor tag above in the first HTML code,they are taken to the respective detail.json file....ie when you click on the first <a href="#/portfolio/{{detail.detailid}}"><i class="fa fa-share animated"></i></a> then you are taken to detail.json with id 0 我想当有人单击第一个HTML代码中上方的第一个锚标记时,它们将被带到各自的detail.json文件中。...即,当您单击第一个<a href="#/portfolio/{{detail.detailid}}"><i class="fa fa-share animated"></i></a>然后您进入ID为0的detail.json

Create a view for your json files, 为您的json文件创建一个视图,

// Create a route for portfolioCtrl like below
portfolio/:jsonFileName

now figure out the filename from route param portfolioCtrl 现在从路由参数组合中找出文件名Ctrl

var jsonFileName = $routeParams.jsonFileName 

And fetch the json file with the name 并获取名称为json的文件

$htttp.get("wherever/" + jsonFileName + ".json");

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM