2013-01-24 17 views
0

我有一個自定義控件。我想在控制之前在腳本一側設置選項,如何傳遞選項?我什麼時候可以設置WinJS.UI。 setoptions?

我想在同一個html頁面中通過腳本傳遞選項。

<script type="text/javascript"> 

     $(document).ready(function() 
{ 

      var myDiv = document.getElementById("svgChart").winControl; 





      WinJS.UI.setOptions(myDiv, { 
       seriesList: [{ 
        label: "s1", 
        legendEntry: true, 
        data: { x: [1, 2, 3, 4, 5], y: [-5, -3, 1, 7, 2] } 
       }, { 
        label: "s2", 
        legendEntry: true, 
        data: { x: [1, 2, 3, 4, 5], y: [-2, -6, 2, 4, 3] } 
       }, { 
        label: "s3", 
        legendEntry: true, 
        data: { x: [1, 2, 3, 4, 5], y: [-3, -5, 3, 2, 5] } 
       }] 
      }); 
     }); 

    </script> 

但wincontrol返回未定義的元素?何時可以在控件創建之前設置選項?

回答

3

當使用與WinJS合同控制,有三種方法來創建控件實例:

  1. 通過調用腳本的構造。例如。 var myControl = new Mynamespace.MyControl(element, options)
  2. 通過在DOM樹上調用WinJS.UI.processAll這是由默認模板創建在VS
  3. 一個新項目時,通過特定的DOM元素

當使用1上調用WinJS.UI.process叫你,你可以清楚地傳遞你的選擇,但是你想。

然而,使用其他兩個的時候,你可以通過選項來聲明控制:

<div data-win-control="Mynamespace.MyControl" 
    data-win-options="{ aProp: 'val', bProb: 3.14}"> 
    <!-- your other content ---> 
</div> 

這將是選項參數,以此來控制的構造。如果您希望將所有這些屬性應用於您的實例,則可以使用WinJS.UI.setOptions(instance, optionsObject)來設置它們。

在你的具體情況下,它看起來像你已經有一些標記和一個控件 - 你只需要等到控件創建後設置選項。

相關問題