1

有没有办法在我的 WinJS 控件选项定义中直接使用 WinJS 评估全局资源,而不是使用data-win-res属性,因为特定选项是一个复杂的对象?

这是我所拥有的:

<div id="CustomControl" data-win-control="My.Custom.NameSpace.Control" data-win-options="{
     opt1: 123,
     opt2: [
         { prop1: WinJS.Resources.getString('Global_Resource_String').value },
         ...
     }">
</div>

以下评估资源的尝试因解释器需要括号但看到左括号的错误而崩溃。你可以看到为什么我不能轻易地为这个选项生成一个 setter 并且data-win-res="{ winControl: {opt2[0].prop1: "Global_Resource_String"} }"对我不起作用。

4

1 回答 1

0

事实证明,在data-win-options属性内部无法执行函数评估,因此评估全局资源存在问题。如果我想为全局资源分配一个复杂的选项,我需要在全局变量中进行函数评估,然后像这样分配给它:

<script type="text/javascript">
    var resource = WinJS.Resources.getString('Global_Resource_String').value;
</script>

<div id="CustomControl" data-win-control="My.Custom.NameSpace.Control" data-win-options="{
     opt1: 123,
     opt2: [
         { prop1: resource },
         ...
     }">
</div>
于 2012-09-13T11:13:49.143 回答