AngularJS SPA のリソースの配列からリソース キーを取得する必要があります。次のようなリソースを使用します。
var answers = $resource('/api/answers/:id', {id: '@id'})
nstore から JSON をロードする node.js バックエンドに接続します。「API」は、nStore dbからデータを取得するだけです。次のres.end(result)
ように結果を送信するだけです。
{
"1moabd0c": {
"q1": "asdf",
"q2": "3",
"q3": [
"false",
"true"
],
"q4": "a@a.com"
},
"2loe5p5p": {
"q1": "edsds",
"q2": "3",
"q3": [
"false",
"true"
],
"q4": "sdfwe@mai.com"
}
}
パラメータを指定すると (最初のオブジェクトから "/api/answers/1moabd0c" を呼び出すなど)、次のように 1 つの結果のみが得られます。
{
"1moabd0c": {
"q1": "asdf",
"q2": "3",
"q3": [
"false",
"true"
],
"q4": "a@a.com"
}
}
では、そのオブジェクト キーを抽出するにはどうすればよいでしょうか。
ビューでリソースを使用します。
tbody
tr(ng-repeat='answer in answers')
td {{answer.q4}}
td
a(href='#/answers/{{answer.key}}') Open
しかし、うまくいきません。{{asnwer.key}}、{{answer.id}} を使用してみました...そのハッシュを取得するために他に何が使用できますか?
編集:コントローラーでこれを行うと:
$scope.answers = Answers.query()
window.x = $scope.answers;
そして、ウィンドウで x をログアウトすると、配列が取得されますが、その配列には$$hashKey
小道具があります。私の推測では、これらは angulars 独自のハッシュ キーです。元のものが必要です。配列は次のようになります (ここにうまく収まるように少し編集しました)
[
{
"$$hashKey": "005",
"q1": "asdf",
"q2": "3",
"q3": [
"false",
"true"
],
"q4": "a@a.com",
__proto__: g /* Which seems to be the angular resource object literal, with $delete, $get and stuff */,
},
{
"$$hashKey": "009",
"q1": "Ovojejedanodgovor",
"q2": "4",
"q3": [
"false",
"true"
],
"q4": "babaa@a.com",
__proto__: g /* again this obj */
}
]