0

このようにjsファイルで宣言されたリストがあります(完全なリストには6つのアイテムが含まれていますが、それよりも多くても少なくてもかまいません)

  var dataArray = [
    {
        type: "item", title: "Cliff",
        picture: "../../images/slike_etnologija/srednji_vek/01.jpg",
        text: "some description"
    },
    {
        type: "item", title: "Grapes",
        picture: "../../images/slike_etnologija/srednji_vek/02.jpg",
        text: "another description"
    },

html ファイルで宣言された 2 つのテンプレート

  <div id="galleryTemplate" data-win-control="WinJS.Binding.Template">
            <div class="overlaidItemTemplate">
                <img class="image img-responsive" src="#" data-win-bind="src: picture; alt: title" />
                <div class="overlay">
                    <h2 class="ItemTitle" data-win-bind="innerText: title"></h2>
                </div>
            </div>
        </div>

        <div id="textTemplate" data-win-control="WinJS.Binding.Template">
            <div>
                <p data-win-bind="innerText: text"></p>
            </div>
        </div>

リストからデータを表示する必要がある2つのコントロール

  <div class="col-md-12" id="basicFlipView"
                     data-win-control="WinJS.UI.FlipView"
                     data-win-options="{ itemDataSource : EtnologijaGallery.itemList.dataSource, itemTemplate: galleryTemplate }">
                </div>

   <p data-win-control="WinJS.UI.ListView"
                     data-win-options="{ itemDataSource : EtnologijaGallery.itemList.dataSource, itemTemplate: textTemplate }">
                </p>

フリップボックスに画像ギャラリーを表示し、その横のリストビューに各画像に関連付けられたテキストの説明を表示しようとしています。設計上、両方を同じテンプレートに入れることはできません。

私のフリップボックスは正常に動作し、すべての画像を表示しますが、リストビューは機能しません。最初に、リストから 3 つの説明のみが表示されます。それらの 3 つの説明は、ユーザーがフリップボックスで画像を変更すると変更される代わりに、スクロール バーを使用してコントロールに表示されます。

誰かがこれを解決するのを手伝ってくれますか?

4

1 に答える 1

1

http://www.buildwinjs.com/tutorial/2WinJS_Binding/bindingInit/で述べたように、WinJS バインディングは 1 回限りのバインディングであり、同じ配列を 2 つの別々のコントロールにバインドします。

onpageselectedFlipView のイベントを確認し、そのイベントが発生したら、適切なテキストで div を更新する必要があると思います。この場合、ListView を使用する必要はまったくないと思います。

于 2015-11-17T12:55:25.527 に答える