2016-12-25 4 views
0

MVC 5가 포함 된 Visual Studio 2013에서 핫 타올 템플릿을 사용하고 있습니다. 현재 프로젝트의 모든 페이지에 핫 타월에서 가져온 기본 코드가 있습니다. 처럼 보이는 웹 사이트 디자인 : 내가 아래로 스크롤 할 때 내가 웹의 다른 부분을 볼 수 있습니다 http://blackrockdigital.github.io/startbootstrap-stylish-portfolio/ 을 site.but 내가 Durandal을 사용하고 내가 내 문제가다른 데이터 바인딩을 사용하여 데이터 바인딩 작성

"data-bind="compose: { view: 'footer' }" 

사용한다고 생각 노크하려는 경우, 이 코드 줄을 내 홈 페이지에서 사용하고 footer.html에서 다른 유형의 데이터 바인딩 (예 : 별도의 자바 스크립트 파일이 내 바닥 글 페이지에도 있음)을 사용할 때 텍스트 바인딩과 같이 텍스트가 표시되지 않습니다. 하지만 Compose 바인딩을 사용하지 않으면 제대로 작동합니다. 그래서 어떤 사람들은 내가 뜨거운 타월로 원하는 웹 페이지를 만들고 노크 할 수 있는지 말해 줄 수있다. 고마워.

내 바닥 글보기와 같은 것입니다 :

<nav class="navbar navbar-fixed-bottom"> 
<div class="navbar-inner navbar-content-center"> 
    <span class="pull-left"><a href="http://johnpapa.net/spa" target="_blank">Learn how to build a SPA </a></span> 
    <span class="pull-right"> 
     <a data-bind="attr: { href: pm, title: title }"></a> 
    </span> 
</div> 
</nav> 

과 footer.js :

define(['services/logger'], function (logger) { 
var title = 'Home'; 
var pm = ko.observable('hi'); 
var vm = { 
    activate: activate, 
    title: title, 
    pm:pm 
}; 

return vm; 

//#region Internal Methods 

//#endregion 

});

<div> 
<header data-bind="compose: { view: 'nav' }"></header> 
<section id="content" class="main container-fluid" 
    data-bind="router: { transition: 'entrance', cacheViews: true }"> 
</section> 
<footer data-bind="compose: { view: 'footer' }"></footer> 
</div> 

그러나 나는 내 프로젝트를 실행하면 결과는 다음과 같습니다 :

그들은 단지 내가 거기에 바닥 글을보고 원하는 결과

내 메인 페이지를 확인하기위한 매우 간단합니다

result

답변

0

의 꼬리말은 관련 머리글을 사용하지 말고 01로 지정해야합니다. view의 경우입니다.

그래서, 당신과 같이 결합하여 compose를 업데이 트하려는 -

"data-bind="compose: { view: 'footer', model: 'footer' }"

나는 그러나, 당신의 view를 저장하기 위해 observable을 사용하고 바인딩이 방법을 활용 model 대응을위한 제안.

그래서, 당신의 주요 viewModel에, 당신은 observable 그래서 다음과 같이 정의 할 것이다 -,

"data-bind="compose: footer"

이 방법을 수행 할 수 있습니다 - 당신은 compose과 같이 바인딩 업데이트 후

self.footer = ko.observable({ 
    view: 'footer', 
    model: 'footer', 
    activationData: anyDataYouWouldLikeToInitializeYourFooterWith 
}); 

을 그리고 compose 다른보기가 동적으로 표시됩니다 (모든보기가 한 번에 하나씩 표시됨).

관련 문제