Javascript WinJS更改模板';ListView中specedicitem的s元素
好了,这是我的问题,我找不到任何解决办法。 我的Gridview有此模板(用于数据绑定)的问题:Javascript WinJS更改模板';ListView中specedicitem的s元素,javascript,data-binding,microsoft-metro,winjs,Javascript,Data Binding,Microsoft Metro,Winjs,好了,这是我的问题,我找不到任何解决办法。 我的Gridview有此模板(用于数据绑定)的问题: <div id="mytemplate" data-win-control="WinJS.Binding.Template"> <div id="questions" class="tweet"> <img src="#" style="-ms-grid-row-span: 2; width: 64px; height: 64px; margin
<div id="mytemplate" data-win-control="WinJS.Binding.Template">
<div id="questions" class="tweet">
<img src="#" style="-ms-grid-row-span: 2; width: 64px; height: 64px; margin-right: 10px;" data-win-bind="src:picture_url">
<h2 style="width:auto;-ms-grid-column: 2; -ms-grid-column-span: 1; margin-left: 1px; margin-right: 0px; -ms-grid-row-span: 2;" data-win-bind="textContent:type"></h2>
<label id="answer" ">Message</label>
</div>
</div>
我认为最好的选择是使用MVVM方法:将每个项绑定到一个实体,并让该实体公开一个名为Text的可观察属性,将弹出按钮绑定到另一个可观察属性SelectedItem,该属性将使用当前选定的项进行更新,并使用双向绑定在弹出按钮文本输入更改时更新选定项的文本属性。如果您需要它,我在这里写了关于双向绑定的博客:建议在弹出式html中使用数据win bind
属性。下面的代码将在弹出按钮的输入元素中显示item.title属性
test.html:
<div class="edit-item" data-win-control="WinJS.UI.Flyout">
<input type="text" class="item-text" data-win-bind="value: title" />
<input type="submit" class="submit" />
</div>
test.js: event handler for iteminvoked event for the listview control
_oniteminvoked: function oniteminvoked(event)
{
var item = this.items.getAt(event.detail.itemIndex); // assuming items is the list binding to the list view
var editItemFlyoutElement = this.element.querySelector('.edit-item');
WinJS.Binding.processAll(editItemFlyoutElement, item);
editItemFlyoutElement.winControl.show(this.element);
}
test.html:
test.js:listview控件的iteminvoked事件的事件处理程序
_oniteminvoked:函数oniteminvoked(事件)
{
var item=this.items.getAt(event.detail.itemIndex);//假设items是列表视图的列表绑定
var editItemFlyoutElement=this.element.querySelector('.edit item');
WinJS.Binding.processAll(editItemFlyoutElement,item);
editItemFlyoutElement.winControl.show(this.element);
}
HTH对这个建议考虑了很多,它非常有用,我想到了MVVM,但我忙于理解新概念。我将对此进行测试。如果您被安装,我已经创建了一个小型MVVM框架: