0

尝试在 WinJS 中使用 FlipView 控件并遇到一些问题。我能够将它绑定到数据源并在翻转视图控件内容窗格中显示 URL/图片属性,但它无法加载图片 - 任何建议:(

我已经确保图像标签的 src 属性指向 URL/picture 属性。我可以通过普通的 img 标签加载图像。

下面列出的是模板定义和数据源 - 一如既往,感谢任何指针:)

数据源:

var dataArray = [
 { type: "item", title: "Hole 1", picture: "/images/IMG_0550.jpg" },
 { type: "item", title: "Hole 2", picture: "/images/IMG_0564.jpg" },
 { type: "item", title: "Hole 3", picture: "/images/IMG_0572.jpg" },
 { type: "item", title: "Hole 4", picture: "/images/IMG_0594.jpg" },
 { type: "item", title: "Hole 5", picture: "/images/IMG_0605.jpg" }
 ];

var dataList = new WinJS.Binding.List(dataArray);
// Create a namespace to make the data publicly
// accessible. 
WinJS.Namespace.define("ImageData", {
    bindingList: dataList,
    array: dataArray
});

翻转视图绑定:

画廊内容在这里。

      <div id="simple_ItemTemplate" data-win-control="WinJS.Binding.Template">
        <div>
            <img src="#" data-win-bind="src: picture; alt: title" />
            <div>
                <h2 data-win-bind="innerText: title"></h2>
            </div>
        </div>
     </div>    

    <div id="basicFlipView" 
         data-win-control="WinJS.UI.FlipView"
         data-win-options="{ itemDataSource : ImageData.bindingList.dataSource, itemTemplate : simple_ItemTemplate }">
    </div>
  </section>
4

2 回答 2

1

使用itemTemplate : select('#simple_ItemTemplate')而不是`itemTemplate:simple_ItemTemplate'

最好在代码中设置模板和数据源,以避免拼写错误,代码也可以调试。

basicFlipView.winControl.itemTemplate = simple_ItemTemplate;
basicFlipView.winControl.itemDataSource = dataList;
于 2013-04-07T05:22:29.397 回答
0

我不同意 ankur 的评论,从我的 POV 来看,数据绑定和 MVVM 是要走的路。关于您的问题,运行项目并使用 DOM 资源管理器查看生成的内容,还使用类而不是 id 作为模板标识符(因为它会生成多次)

于 2013-04-07T07:17:59.907 回答