WinJS:如何在选项中直接解析全局资源

WinJS: How to resolve a global resource directly within an option

本文关键字:全局 资源 选项 WinJS      更新时间:2023-09-26

是否有一种方法可以在我的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"} }"对我不起作用。

事实证明,在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>