우선, 나는 Knockout을 가진 초보자입니다. 기본적인 이해를 얻었습니다. 라우팅 용 교차로를 사용하고 있습니다.넉 아웃 JS - Observable에서 뷰를 업데이트하지 않습니다.
이것은 현재 시나리오입니다. URL에서 param.route(). plan으로 값을 가져옵니다. 괜찮습니다.
값은 뷰 모델에서 Observable로 설정됩니다. 그러나 바인딩이 작동하지 않습니다/이전 경로를 사용하여 이전에서이 경로를 탐색 할 때 값이 업데이트되지 않습니다. location.href = "checkout/gold"여기서 gold는 계획입니다. 하지만 페이지를 새로 고침하면 제대로 작동합니다.
추 신 : View 모델이 예상대로 작동합니다. 나는 지금 CONSOLE.LOG
와 일부 코드 확인 두 배 - 작동하는 것 같다 문제가보기 모델
// Function Handling Subsription
self.subscribe = function() {
alert(self.selectedPlan());
var currentUser = Parse.User.current();
if (currentUser === null) {
$('#loginBox').modal('show');
} else { // Else redirect
location.href = '#checkout/'+self.selectedPlan();
// Redirect to Checkout page
}
} // Function ends here
보기 모델로 리디렉션 기능을
self.selectedPlan = ko.observable(params.route().plan);
보기
<span data-bind="text:selectedPlan()></span>
무엇 '을 참조 self' 않습니다 꽤 기대된다 이러한 경우 바인딩 보장? 나는 당신이'self.selectedPlan.subscribe (function (plan) {... location.href = "checkout /"+ 계획; ...})' –
var self = this –
을 사용해야한다고 생각한다. 구독 기능을 적용 할 수 없다. 부모 개체에. 모든 관측 가능한 값에 대해 별도의 구독 함수를 수동으로 만들어야합니다. – Rajesh