2014-11-20 3 views
0

내 응용 프로그램의 UI를 작성하기 위해 타이프 스크립트로 녹아웃을 사용하고 있습니다. 내 UI의 내용이 변경되면 녹아웃 바인딩을 사용하여 내 타이프 스크립트에 알리고 싶습니다.넉 아웃 바인딩 만 작동합니다. 단방향

내 코드는 작동하지만 불행히도 단방향으로 만 작동합니다. 페이지가로드 된 후 초기 값 5가 표시되지만 breakTime 입력에서 무언가를 변경하면 subscribe-method가 입력되지 않습니다.

selectedDates 배열에는 breakTime 속성이 포함 된 개체가 포함되어 있습니다.

HTML 코드 :

<!-- ko 'foreach': $root.selectedDates--> 
<td> 
    <input type="text" name="breakTime" data-bind="value: breakTime()" class="bookingTextBox" /> 
</td> 
<!-- /ko --> 

타이프 스크립트 코드 :

내가 전에 녹아웃 foreach는 요소와 함께 일한 적이
public breakTime: KnockoutObservable<string>; 

constructor(date: Date, viewModel: Booking.BookingViewModel) {  
    this.breakTime = ko.observable("30"); 
    this.breakTime.subscribe((newValue) => { 
     alert(newValue); 
    }); 
} 

, 어쩌면 오류가 발생합니다. 이 일을하는 다른 일을해야합니까? 제거 당신이 순간에 입력 관찰의 결과를 당신의 구속력 괄호를 사용하는 경우 바인딩이로드되었는지 것입니다 data-bind="value: breakTime"

이유 바인딩 값에서을 괄호에

답변

5

당신이 필요합니다. 이 일을하는 경우 정확히 동일합니다 data-bind="value: 5".

괄호가 없으면 전체 관찰 가능 값을 바인딩합니다.

+1

[데모하기위한 피들을 함께 사용] (http://jsfiddle.net/kL3awr1w/) –

+1

일이 너무 간단 할 수 있습니다. 작동합니다. –

+0

@PhilippEger 위대한 이유를 이해합니까? – ianaya89