私は非常に単純なテストアプリケーションを角度jsで作成しており、jsonサーバーに格納されたデータを表示して表示します。次のようにコントローラと工場を経由してjson-serverデータにアクセスしようとしています
db.jsonは、次のよう
{
"examples": [
{
"id": 0,
"name": "example 0",
"description": "Example 0 description."
},
{
"id": 1,
"name": "example 1",
"description": "Example 1 description."
}
]
}
コントローラは、次のよう
angular.module('my_app')
.controller('ExampleController', ['$scope', 'exampleFactory', function ($scope, exampleFactory) {
$scope.example = exampleFactory.query({
})
.$promise.then(
function (response) {
var examples = response;
$scope.message = examples;
},
function (response) {
$scope.message = "Error: " + response.status + " " + response.statusText;
}
);
}])
工場は、次のよう
.factory('exampleFactory', ['$resource', 'baseURL', function ($resource, baseURL) {
return $resource(baseURL + "examples/:id", null, {
'update': {
method: 'PUT'
}
});
}])
;
そして図である。
<p>Test outside repeat: {{message}}</p>
<ul>
<li ng-repeat="example in examples">
<p>Test in repeat: {{message}}</p>
<p>{{example.name}}</p>
<p>{{example.description}}</p>
</li>
</ul>
ここで興味深いのは、データが工場から返されていることです。上記の例では、最初のテスト(ng-repeatの外側)はフルセットを返します。しかし、ng-repeatの中に何も表示されません。
サービスを使用してわずかに異なる配置を使用していますが、ファクトリを使用して作業しているようです。
これはなぜ、誰が私を正しく置くことができるか考えている人はいませんか?あなたが方法を得ることができるよう、私は工場を使用してお勧めしたい
angular.module('my_app')
.controller('ExampleController', ['$scope', 'exampleFactory', function ($scope, exampleFactory) {
$scope.example = exampleFactory.query({
})
.$promise.then(
function (response) {
var examples = response;
$scope.message = examples;
$scope.examples = examples.examples; // I may be reading the JSON wrong here.
},
function (response) {
$scope.message = "Error: " + response.status + " " + response.statusText;
}
);
}])
ありがとう2ps - それがうまくいかなかった - 私は最終的にそれをソートしました - 私はcouldnt;詳細については次の応答を参照してくださいこの返信で正しく表示するコードを取得する:-) – Stef