2017-04-03 9 views
0

URLを使用してリストから詳細ビューに情報を渡そうとしています。私のURLにはFirebase IDが含まれています。私はIDを取得することができましたが、Firebaseの対応するレコードを読み取る方法が見つかりません。

私はボトルのリストを持っています。ボトルをクリックすると、そのボトルの名前が表示されます。

<div class = "list" ng-repeat="bouteille in bouteilles> 
    <a class="item item-avatar" href="#!/maBouteille/{{bouteille.$id}}"> 
    <h2>{{bouteille.name}} - {{bouteille.year}}</h2> 
    </a> 
</div> 

だから私はURLでボトルのIDを持っていることを bouteilles.html:

bouteilles.js

angular.module('myApp.bouteilles', ['ngRoute']) 

.config(['$routeProvider', function($routeProvider) { 
    $routeProvider.when('/bouteilles', { 
    templateUrl: 'bouteilles/bouteilles.html', 
    controller: 'BouteillesCtrl' 
    }); 
}]) 

.controller('BouteillesCtrl', ['$scope','$firebaseArray', function($scope, $firebaseArray) { 

    var ref = firebase.database().ref(); 
    $scope.bouteilles = $firebaseArray(ref); 

}]); 

は、その後、私は "bouteilles" のリストを持っています。私は私がFirebaseに対応するレコードを取得するために、この$ routeParams.idを使用する方法を見つけ出すことはできませんmaBouteille.js

angular.module('myApp.maBouteille', ['ngRoute']) 

.config(['$routeProvider', function($routeProvider) { 
    $routeProvider.when('/maBouteille/:id', { 
    templateUrl: 'maBouteille/maBouteille.html', 
    controller: 'MaBouteilleCtrl' 
    }); 
}]) 

.controller('MaBouteilleCtrl', ['$routeParams','$scope','$firebaseArray', function($routeParams, $scope, $firebaseArray) { 
    var ref = firebase.database().ref(); 
    console.log($routeParams.id); 
}]); 

からIDをログで見ることができるので、それはOK取り組んでいます。何か案が?

+0

あなたは完全なオブジェクトを返すことができます。繰り返します.whyで再び@fabienを取得します。 –

+0

MaBouteilleCtrlに、私は瓶からのデータを探しています –

+0

あなたのノード名は何ですか? –

答えて

1
.controller('MaBouteilleCtrl', ['$routeParams','$scope','$firebaseArray',  function($routeParams, $scope, $firebaseArray) { 
    var ref = firebase.database().ref('your Node or table name'); //that node ref 
     ref.child($routeParams.id).on("value",function(snapshots){ //value of that id 
     console.log(snapshots.val()); //printing object 
     }) 
    console.log($routeParams.id); 
}]); 

ここで私は角度jsとfirebaseを使用しています。

+0

Ankitに感謝します。私はログでそれを見ることができます!しかし、私はまだ私のHTMLに表示するために苦労しています... –

+0

私は、console.logのすぐ下でそれを呼び出す機能extractData(テスト)を作成しましたが、それは動作していません。 {{name}}は名前を取得しません。どのように仕事を終了するか考えていますか? 関数extractData(name){ console.log( "Name:" + name); $ scope.name = name; } –

+0

見つけました! $( '#name')。append(snapshots.val()。name);関数内では

関連する問題