2012-05-15 20 views
0

我有一個地鐵與數據綁定在Windows的JavaScript應用程序問題8.數據與JavaScript

上結合觀察到的Metro風格應用程序* 版本XXXX *

我創造價值,我想結合

var someValue = WinJS.Binding.as({ primitive : 1 }); 

其實我已經把這個在全球範圍內排除的東西出來

然後,只需設置一個簡單的callb ACK更新此值每5秒

setInterval(function() { someValue. primitive++ }, 5000); 
WinJS.Binding.processAll(); 

這是在頁面的js文件的準備功能

然後在HTML文件中只是一個簡單的h1標籤

<h1 data-win-bind="innerText : someValue.primitive">Test</h1> 

當這個頁面運行它最初做了數據綁定 - 所以h1標籤顯示1,但從未顯示任何其他內容。回調確實受到打擊,並且在任何時候我都可以檢查someValue,它看起來是正確的。我試過在someValue對象上使用setProperty和updateProperty,但它沒有任何區別。

我很感激任何建議。謝謝!

+0

我還不知道答案,但只是想提一提,你確定你是否應該在公共論壇上發佈關於構建的任何內容? NDA沒有與之相關聯嗎? –

+0

不知道。不過謝謝。這會得到它的工作:HTML:'

測試

'js:'WinJS.Binding.processAll(document.body,someValue);' –

回答

0

這似乎是全球性的問題。我嘗試了其他一些事情,看起來你不能將數據綁定到具有全局作用域的對象。

<h1 data-win-bind="innerText : variable">Test</h1> 

的「變量」無法在全球是,如果你綁定到該變量具有全局範圍的,它只是破壞。

但是如果你只是命名空間是變量variable.variable,那麼它可以工作 - 但是因爲它已經命名空間,所以你必須將其作爲數據上下文傳入。

WinJS.Binding.processAll(document.body的,可變的)

我的問題是我有一個ViewModel.Login,ViewModel.Basket對象,我只是想綁定視圖模型,然後讓相關科室結合位他們需要。

// ViewModel.Test.test.guidePrice =「£3.00」;

作品 <h1 data-win-bind="innerText : test.guidePrice">Test</h1> WinJS.Binding.processAll(document.getElementById('basketPrice'),ViewModel.Test);

不起作用 <h1 data-win-bind="innerText : Test.test.guidePrice">Test</h1> WinJS.Binding.processAll(document.getElementById('basketPrice'),ViewModel);

希望這有助於任何人都具有相同/相似的問題!