2016-05-03 39 views
0

讓我們說我有什麼地方申報在我看來一個打字稿對象:如何聲明要在onClick事件中使用的動態TypeScript對象名稱?

<script type="text/javascript"> 
    var myTSObject = Module.CustomClass('#someId'); 
    myISObject.bind(); 
</script> 

現在我需要處理的點擊甚至從某個元素內側保持<script>標籤:

<div id="thisDiv"> 
    <script type="text/javascript"> 
     var myTSObject = Module.CustomClass('#thisDiv'); 
     myISObject.bind(); 
    </script> 
    <button onClick="myISObject.handleClick()" /> 
</div> 

所以到目前爲止好,但如果我用上面的<div>...</div>塊爲模板,所以它產生我的看法的時候,它看起來像這樣:

<div id="thisDiv"> 
    <script type="text/javascript"> 
     var myTSObject = Module.CustomClass('#thisDiv'); 
     myISObject.bind(); 
    </script> 
    <button onClick="myISObject.handleClick()" /> 
</div> 
<div id="thatDiv"> 
    <script type="text/javascript"> 
     var myTSObject = Module.CustomClass('#thatDiv'); 
     myISObject.bind(); 
    </script> 
    <button onClick="myISObject.handleClick()" /> 
</div> 

這可以理解爲失敗,因爲現在第二個myISObject覆蓋了第一個myISObject。但是由於<div>...</div>塊是模板,我無法硬編碼JS變量名。如何處理這個相應的?

+0

'myTSObject' VS'myISObject' - 他們應該是一樣的嗎? – PinkTurtle

回答

1

將此設置爲你的頁面的頂部:

var divnumber=0; 

然後使用此爲每個格:

divnumber++; 
window['myISObject' + divnumber] = ... 
相關問題