javascript - UI-Router过滤Json数据

标签 javascript json angularjs angular-ui-router

我是 JavaScript 和 Angular 的初学者,我正在尝试在我的网站上实现 AngularJS。我一直在看 CodeSchool、Egghead 等教程。但我一开始就卡住了。在我的网站上显示 JSON 数据。我正在使用 UI-router 加载“icerik.html”

Index.html

     <div class="row" ui-view>
        <div class="col s8 offset-s1"  ng-controller = "nbgCtrl">
        <div class="row">
        <div class="col s12 m6 l4" ng-repeat = "manga in mangas">
        <div class="row">
        <div class="col s5">
            <a ui-sref="icerik" class="thumbnail">
            <img src="/kapaklar/{{manga.kapak}}">
            </a>
        </div>
        <div class="col s7">
        <p>{{manga.ad}}</p>

        <a href="" class="waves-effect waves-light btn">

        </a>
        </div>
        </div>
        </div>
        </div>
        </div>
        </div>

当我点击“ui-sref”时,它必须加载与 {{manga.kapak}} 相关的 JSON 数据。因此,如果此 {{manga.kapak}} 属于 dataset1,则从 JSON 数据加载 dataset1。数据集我指的是这样的 JSON 数据:

JSON 数据:

[{"id":"1","ad":"Naruto","yazar":"Masashi KISHIMOTO","kapak":"naruto.jpg"},
{"id":"2","ad":"One Piece","yazar":"Eiichiro ODA","kapak":"one_piece.jpg"}]

JS:

angular.module('nasuh',["ui.router"])
.config(function($stateProvider, $urlRouterProvider) {

$urlRouterProvider.otherwise("/");

$stateProvider
.state('index', {
  url: "",
})
$stateProvider
.state('icerik', {
  url: "/icerik",
  templateUrl: "icerik.html",
  controller: "mmgCtrl",
  resolve: {
  isimler : function(MY){
    return MY.isimler;
 }
 }
 })
 })

.factory('MY', function($http){
 var factory = {};
 var url = '/uzak/remote.php?callback=JSON_CALLBACK';
 factory.isimler = $http.get(url);
 return factory;
})
.controller('nbgCtrl', function($scope, MY) {
     //I handle here the success of the $http call
     MY.isimler.success(function(alHemen){
          $scope.mangas = alHemen;
     });  
 })
.controller('mmgCtrl', function($scope, isimler) {
 $scope.manga = isimler;  
})

最佳答案

看起来您想要显示详细数据,您需要为其创建另一条路线来负责显示详细信息 View

标记

<div class="col s12 m6 l4" ng-repeat="manga in mangas">
    <div class="row">
        <div class="col s5">
            <a ui-sref="icerikDetails({id:manga.id})" class="thumbnail">
                <img src="/kapaklar/{{manga.kapak}}">
            </a>
        </div>
        <div class="col s7">
            <p>{{manga.ad}}</p>

            <a href="" class="waves-effect waves-light btn">

            </a>
        </div>
    </div>
</div>

其他状态

$stateProvider
.state('icerikDetails', {
  url: "/icerik/:id",
  templateUrl: "icerikDetails.html",
  controller: "mmgCtrl",
       resolve: {
         getData : function(MY, $stateParams, $filter){
            return MY.isimler.then(function(res){
                return $filter('filter')(res.data, {id: $stateParams.id}: true)[0];
            });
       }
     }
   })
 })

icerikDetails.html

<div>{{details }}</div>

mmgCtrl

.controller('mmgCtrl', function($scope, getData) {
    $scope.manga = getData.then(function(data){
       $scope.details = data; //data will available here
    });  

})

关于javascript - UI-Router过滤Json数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30765194/

相关文章:

java - 如何使用Gson库解析错误的JSON

json - 如何获取响应数据并将其解析为 JMeter 中的 HTTP header 管理器

用于选择选项并提交 django 表单的 javascript 函数

json - 如何将 JSON 对象写入文件以便稍后在 JuliaLang 中读取?

javascript - JQuery .html() 问题

javascript - 请求特定 PHP 函数的问题

javascript - 使用 $sce.trustAsHtml 后,ng-click 不起作用

javascript - 我的自定义指令不起作用

javascript - 无法在 Vue.js 中重用模板

javascript - 在自定义 JQuery 验证规则中读取非元素值的正确方法是什么?