我正在使用 HTML5/Javascript 开发 Windows 8 应用程序。我创建了一个自定义控件,它使用一堆 DIV 来显示内容,每个 DIV 都使用WinJS.Binding.Template
. 设置接近这个问题的答案:WinJS.UI.ListView 自定义列表项内容?.
绑定数据接近:
[
{
"title": "title name",
"allow_action": false
"action_type": "go"
},
...
]
我的模板接近:
<div id="entry" data-win-control="WinJS.Binding.Template">
<div data-win-bind="textContent: title">
</div>
<a class="action">Action</a>
</div>
绑定后,我想:
- 根据 和 的值更改
className
的。a.action
allow_action
action_type
- 根据绑定数据的内容,在绑定时附加一个事件 (
addEventListener
) 。a.action
这包括allow_action
,action_type
和其他值。
基本上,我希望有一个绑定前或绑定后的回调函数,将元素和绑定数据作为参数。转换器似乎无法做到这一点,因为转换器不允许您访问其他字段。
同时,我在render
. 我想知道是否有更好的选择。谢谢你。
更新
正如@GotDibbs 和@RSW 在评论中所建议的那样,我设法使用Sending multiple parameters to WinJS.Binding.converter() function中的解决方案解决了问题#1 。我想知道#2是否仍然可能?