Winapi 使用数据win res属性动态绑定资源
我有一个对象,其中包含要加载的资源的id,并希望将其绑定到模板本身中。 通常资源可以这样绑定:Winapi 使用数据win res属性动态绑定资源,winapi,windows-8,windows-store-apps,winjs,Winapi,Windows 8,Windows Store Apps,Winjs,我有一个对象,其中包含要加载的资源的id,并希望将其绑定到模板本身中。 通常资源可以这样绑定: <div class="description" data-win-res="{textContent:'taxCalDescription'}" ></div> <div class="name" data-win-bind="textContent:'TaxCal'" ></div> 我试着这样装订 <div class="descripti
<div class="description" data-win-res="{textContent:'taxCalDescription'}" ></div>
<div class="name" data-win-bind="textContent:'TaxCal'" ></div>
我试着这样装订
<div class="description" data-win-res="{textContent: tool.descriptionResId}" ></div>
<div class="name" data-win-bind="textContent:tool.name" ></div>
当数据win bind
可以访问工具
对象时,数据win res
不能。它抛出一个错误,指出“找不到未定义的descriptionResId”
那么,如何将动态资源id绑定到模板?我认为在这种情况下,您需要直接更改对资源API的使用 您可以通过以下两种方式之一执行此操作:
WinJS.Resources.getString
WinJS.Binding.converter
根据传入值动态加载它。例如WinJS.Namespace.define("YourNamespace", {
loadToolName: WinJS.Binding.converter(function(input) {
switch(input) {
case "notlocalizedname":
return WinJS.Resources.getString("MyID");
default:
return "Unknown";
}
}),
});
然后,在标记中,绑定看起来像:
<div class="description"
data-win-bind="textContent: tool.descriptionResId YourNamespace.loadToolName">
</div>
<div class="description"
data-win-bind="textContent: tool.descriptionResId YourNamespace.loadToolName">
</div>