안녕하세요. 그래서 Knockoutjs, Sammy.js 및 Rest Web API를 사용하는 단일 페이지 응용 프로그램 .Net
에서 작업하고 있습니다. 나는이 라이브러리에 다소 익숙하며 몇 가지 핵심 디자인 문제에 직면했으며 몇 가지 통찰력을 얻고 자합니다.Knockoutjs 단일 페이지 응용 프로그램 바인딩 문제
내가 가진 주요 문제는 특정 요소를 대상으로 한 knockouts ko.applybinding을 사용하는 것입니다.
this.get("#/Classroom", function(context) {
dataPack.build(PageLoc, context)
appPres.reload();
ko.applyBindings(new classroomVmCore.View(), document.getElementById('view-Classroom'));
});
이것은 단일 페이지 응용 프로그램이므로 내보기를 동적으로 추가해야합니다. dataPack.build
은 내보기를 움켜 잡고 단일 페이지의 컨텍스트에 바인딩합니다. 그 기능은 예상대로 잘 작동하지만 ko.applyBindings
에 올 때 나는 .. 다음과 같은 문제가 발생 찾을
모든 페이지 새로 고침 내보기 모델을 잃고
sammy.js
해시 충돌하지 않을 경우 데이터가 누락됩니다. 이 문제는 주로 공유 항목 (예 : 탐색 항목, 레이아웃 항목 등)에서 발생합니다.#/Classroom
해시를 다시 칠 때이 데이터에 자체보기 모델이 있으므로 공유 모델이 손실됩니다.내보기 모델에 아래의 생성자 함수를 사용하는 것 외에 다른 옵션이 있습니까? 변수를 설정 한 다음 해당 변수를 조정하거나 추가하려고해도 내 모델이 조정되지 않는 것 같습니다.
언제든지 내 모델을 업데이트/새로 고침하여 페이지를 새로 처리 할 수있는 방법을 찾고 있습니다.
SPA에 이러한 라이브러리를 사용하는 사람이 있습니까? 어떻게 견해와 바인딩을 구성 했습니까?
도움이나 의견을 크게 주시면 감사하겠습니다.
큰 덕분에이 나에게 sammy.js 이것을 통합하는 방법의 더 나은 아이디어를 제공합니다. 마지막 질문은 엔진을 사용하여 외부 소스에 대한 템플릿을 얻었습니까? –
@BrandonCemprola 아니요, 우리의 템플릿은 간단하고 페이지에로드되므로 템플릿이 동적 일 필요가 없습니다. –