2012-05-15 1 views
0

내가 Windows에서 자바 스크립트 응용 지하철에서 데이터 바인딩에 문제가있어와 메트로 스타일 앱에서 관찰 바인딩 * 빌드 XXXX *데이터 8</p> <p>에 자바 스크립트

내가 원하는 가치를 창출

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

에 바인드는 사실은 단순한 callb을 설정 한 다음

물건을 배제하기 위해 전역 범위에 넣고 한 이 값마다 5 초

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

이 단순한 H1 태그

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

때이 페이지가 실행되는 HTML 파일에

그런 다음 페이지의 js 파일의 준비 기능에 업데이트하는 ACK 처음에는 databind를 수행하므로 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> 

'변수'는 ​​전역 변수가 될 수 없습니다. 바인딩하려는 변수에 방금 전역 범위가있는 경우입니다.

네임 스페이스가 say 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);

희망을 작동하지 않습니다!

관련 문제