2012-05-29 1 views
0

방금 ​​독서를 시작하고 knokout 튜토리얼을 통해 정말 좋아하지만 간단한 샘플을 만들 수 없습니다.신입생 시작 knokout 질문

<script type="text/javascript"> 
    function AppViewModel() { 
     this.foo = ko.observable('0'); 
     this.increment = function() { 
      alert(foo); 
      foo += 1; 
     }; 
    } 
    ko.applyBindings(new AppViewModel()); 


</script> 

기본적으로 내가 버튼을 클릭하여 텍스트 상자의 값을 증가 jsut 원하는 : 여기에 HTML 코드

<input id="Button2" type="button" value="+" data-bind="click:increment" /> 
<input id="Text1" type="text" data-bind="text:foo" /> 

및 JS 코드입니다. 헤더에 다음 js 파일도 포함 시켰습니다.

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script> 
    <script src="Scripts/knockout-2.1.0.debug.js" type="text/javascript"> 

그 밖의 무엇입니까? 어떤 도움을 주시면 감사하겠습니다.

답변

1

입력에 텍스트 바인딩을 사용하고 있습니다. 입력 텍스트를 설정해도 아무 것도 보이지 않습니다.

대신 값 바인딩을 사용해야합니다. 그렇게.

<input id="Button2" type="button" value="+" data-bind="click:increment" /> 
<input id="Text1" type="text" data-bind="value:foo" /> 

또한 observable 함수를 호출하여 foo 요소를 지정해야했습니다. 이 도움이

function AppViewModel() { 
    var self = this; 
    this.foo = ko.observable(0); 
    this.increment = function() { 
     self.foo(self.foo() + 1); 
    }; 
} 

http://jsfiddle.net/madcapnmckay/wdVYe/

희망.

+0

위대한 jsfiddle에서 확인했지만 내 응용 프로그램에서 작동하도록 만들 수 없습니다. Jquery, adn knokout 옆에 어떤 외부 js 파일을 포함시켜야합니까? 감사합니다. yuor help –

+0

그게 전부입니다. firebug/chrome dev 도구 콘솔에서 표시되는 오류는 무엇입니까? – madcapnmckay

+0

오류는 없지만 아무것도 수행하지 않습니다. 로드시에도 텍스트 상자 값은 0이 아니며 페이지는 aspx입니다. 문제가되지 않아야합니다. –