基本的なFirebaseクエリに問題があります。アプリケーションの残りの部分でデータを持ち運びに問題はありません。 Firebase認証の場合でも。クエリのプロパティにアクセスする際にエラーが発生しました - AngularJS + Firebase
しかし、これらのクエリでは、そのプロパティにアクセスしようとすると、私には定義されていません。それは明確に定義されていますが。
エラーが表示されますか?ありがとう。
私は仕事誰とバージョンは以下のとおりです。
"dependencies": {
"angular": "^1.5.8",
"bootstrap": "^3.3.7",
"angular-bootstrap": "^2.1.0",
"angularfire": "^2.0.2",
"firebase": "^3.3.2",
"angular-animate": "^1.5.8",
"angular-route": "^1.5.8",
"textAngular": "^1.5.11",
"angular-socialshare": "angularjs-socialshare#^2.3.1",
"angular-timeago": "^0.4.3"
}
これは図である。
<div ng-controller="blogpostCtrl">
{{post}}
{{post.Title}}
</div>
これはfirebaseの内容です:
{
"blog" : {
"posts" : {
"-KT9vxYoCkly93GqTSY7" : {
"CreationDate" : 1475504757165,
"Post" : "<p>esto es una prueba de post</p>",
"Title" : "esto es una prueba",
"Url" : "esto_es_una_prueba",
"isPublished" : true
},
"-KTA-f-BDAzC-4T4a50K" : {
"CreationDate" : 1475505991860,
"Post" : "<p>dsf sdf sdfs fd</p>",
"Title" : "o1i21o3i",
"Url" : "o1i21o3i",
"isPublished" : true
},
"-KTA-ggQSQLnDr4eQtfi" : {
"CreationDate" : 1475505998783,
"Post" : "<p>ds sdf sdf</p>",
"Title" : "4 45654456 2546345562535",
"Url" : "4_45654456_2546345562535",
"isPublished" : true
}
}
}
}
これはコントローラです。
app.controller("blogpostCtrl", function($scope, $location, $routeParams, $firebaseArray) {
var ref = firebase.database().ref("blog/posts");
$scope.post = $firebaseArray(ref.orderByChild("Url").equalTo($routeParams.uri));
console.log($scope.post)
console.log($scope.post.Title) //<------------ undefined
firebase.database().ref("blog/posts").orderByChild("Url").equalTo($routeParams.uri).once('value').then(function(snapshot) {
console.log(snapshot.val())
console.log(snapshot.val().Title) //<------------ undefined
});
firebase.database().ref("blog/posts").on('value', function(snapshot) {
console.log(snapshot.val())
console.log(snapshot.val().Title) //<------------ undefined
});
});
そして、これは、コンソール出力です:
[]0: Object$$added:()$$error:()$$getKey:()$$moved:()$$notify:()$$process:()$$removed:()$$updated:()$add:()$destroy:()$getRecord:()$indexFor:()$keyAt:()$loaded:()$ref:()$remove:()$save:()$watch:()length: 1__proto__: Array[0]
ctrl.js:163 undefined
ctrl.js:170 Object {-KT9vxYoCkly93GqTSY7: Object, -KTA-f-BDAzC-4T4a50K: Object, -KTA-ggQSQLnDr4eQtfi: Object}-KT9vxYoCkly93GqTSY7: Object-KTA-f-BDAzC-4T4a50K: Object-KTA-ggQSQLnDr4eQtfi: Object__proto__: Object
ctrl.js:171 undefined
ctrl.js:166 Object {-KTA-ggQSQLnDr4eQtfi: Object}-KTA-ggQSQLnDr4eQtfi: ObjectCreationDate: 1475505998783Post: "<p>ds sdf sdf</p>"Title: "4 45654456 2546345562535"Url: "4_45654456_2546345562535"isPublished: true__proto__: Object__proto__: Object
ctrl.js:167 undefined
ofcourse未定義です。 'Title'は別のオブジェクトのプロパティです – Akis
はい、少なくとも、スナップショットのクエリでエラーが発生しました。しかし、$ scope.post = $ firebaseArray(ref.orderByChild( "URL")equalTo($ routeParams.uri)を使って作業しているとき)。私には問題があります。 さらに、私は相談するデータの鍵を得ることができません。私がキーを持っていれば、フィールドの中にクエリーを作成しません。 – Epifanio