Nasuh
Nasuh

Reputation: 355

AngularJS with UI-Route and Master Detail

I'm trying to get JSON data from my server and display them into my website. I am using Ui-router extension. What I am looking for here is a master-detail setup.

Index.html

<input ng-model="manga.name" ng-change="searchManga()" id="search" type="search" placeholder="Manga İsmi Girin..." required>
<div class="row" ui-view="viewA">
        <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="ui-sref="#/manga/{{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>

I have above a main page and repeating some thumbnails. Every thumbnail links to its detailed information page. And when clicking a thumbnail it has to carry its own data and load it here. Here's what I've got so far:

JS:

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

$stateProvider
.state('list', {
url: "/",
controller: "ListCtrl",
templateUrl: "index.html",
}
)
$stateProvider
.state('icerik', {
url: "/icerik/:{{mangaid}}",
controller: "mmgCtrl",
views: {
"viewA": { templateUrl: "icerik.html" },
}
}
)
})
.factory('Mangas', function($http){
var factory = {};
function getData(manganame, callbak) {
var url = '/uzak/remote.php?callback=JSON_CALLBACK';
$http.get(url).success(function(data){
 factory = data.results;
 callback(data.results);
 })
 }
 return {
 list: getData,
 find: function(name, callback) {
 console.log(name);
 var manga = cachedData.filter(function(entry) {
 return entry.id == name;
 })[0];
 callback(manga);
 }
 };
 })
.controller('ListCtrl', function($scope, $http, Mangas) {
 $scope.manga = {
 name: '' }
 $scope.searchManga = function() {
 Mangas.list($scope.manga.name, function(mangas) {
 $scope.mangas = mangas;
 });
 }
 })
.controller('mmgCtrl', function($scope, $http, $stateParams, Mangas) {
Mangas.find($stateParams.mangaid, function(manga) {
 $scope.manga = manga;
 });
 })

Upvotes: 1

Views: 151

Answers (1)

Gary Liu
Gary Liu

Reputation: 13918

I just doubt that the getData is not a promise in resolve closure you hava returned MY.isimler.then so in mmgCtrl controller first console getData to make sure it's a promise or data

Upvotes: 1

Related Questions