1

Ember アプリケーションでランダムなアイテムをロードする必要があります。これを行うには、次のことを行います。

Test.ApplicationRoute = Ember.Route.extend({
    events: {
        randomItem: function() {
            var route = this;
            $.getJSON('item/random.json', function(data) {
                Test.Item.find(data).then(function(item) {
                    route.transitionTo('items.show', item);
                });
        });
    }, // ..... etc

これは、ネストされたサイドロード データが表示されないという 1 つのことを除いて、正常に機能します。items.showを介してにアクセスする{{#linkTo 'items.show' item}}と、アイテムの子データも読み込まれて表示されます。ただし、このrandomItemイベントが発生すると、直接の子のみが表示されます。子供の子供はそうではありません。

これはなぜですか、および/またはこれを修正するにはどうすればよいですか?

4

1 に答える 1

0

アーティファクトが表示されない理由はcontroller.content.isLoaded、コンテンツがまだ読み込まれている場合に読み込み中の画像を表示するようにビューを調整しようとするためです。

何らかの理由で、次の例では、loading...以降のルートの使用時にテキストとアイコンが永久に表示されます。

{{#if controller.model.isLoaded}}
    <div class="row">
        </div>
        {{#each artifact in controller}}
            {{render "artifacts.show" artifact}}
        {{else}}
            <span class="muted">There are no artifacts.</span>
        {{/each}}
{{else}}
    <i class="icon-spin icon-spinner icon-large"></i> Loading...
{{/if}}

誰かが理由を知っている場合は、私に知らせてください。この問題を解決できます。

于 2013-06-26T16:14:15.313 に答える