javascript
  • jquery
  • data-binding
  • knockout.js
  • 2014-05-19 7 views -1 likes 
    -1

    내가 할 수녹아웃 바인딩 속성

    var friendss="<div id='two' data-theme='a' class='ui-content'> 
    <ul id='tust' 
    data-role='listview'> 
    <li><a href='#'><img data-bind='attr:{src: friend.img}' alt='Friend'><p data-bind='text: 
    friend.name'></p> 
    </a> 
    </li> 
    </ul> 
    </div>"; 
    

    그리고

    $("#tust").attr("data-bind","foreach:{data:friends(), as:'friend'}"); 
    

    기본적으로 제가 JS를 통해 몸에 HTML을 추가, 여기에 달성하기 위해 노력하고있어 다음 데이터를 삽입과 같은 또한 위의 html이있는 DOM이 채워진 후 js를 통해 특성을 바인딩합니다. 그렇지 않은 경우 어떻게하면 위의 즉 데이터 바인딩을 자바 스크립트를 통해 삽입 할 수 있습니다. 감사합니다.

    +0

    나중에 데이터 바인딩을 추가 하시겠습니까? 이미 서버에서 채워진 데이터를 가져오고 변경하지 않으려는 경우 녹아웃 바인딩을 위해 데이터 바인딩을 추가하는 것은 무엇입니까? –

    +0

    @SujeshArukil 기본적으로 단일 페이지 응용 프로그램 (SPA)을 개발 중이므로 js를 통해 위의 모든 작업을 수행 할 수 있기를 원합니다. –

    +1

    자신의 SPA를 굴리십니까? 또는 Durandal과 같은 프레임 워크를 사용할 계획입니까? 자체 SPA를 롤업하는 경우 템플릿에는 데이터 바인드 속성이 이미 설정되어 있으며 나중에 추가되지 않습니다. requirejs 텍스트 플러그인을 사용하여 템플릿 파일을 가져오고 ko.applyBindings를 사용하여 해당 뷰 모델에 바인딩합니다. –

    답변

    0

    템플릿 바인딩을 사용할 수 있습니다. 예 : 동적, 그 ​​추가 바로 DOM 요소를 결합해야하는 경우

    <div id="random123" data-bind="template: {name: 'myTemplate', data: {friends: friends()}}"></div>

    :

    <script type="text/html" id="myTemplate"> 
        <div id="two" data-theme="a" class="ui-content"> 
         <ul id="tust" data-bind="foreach: {data: friends, as: 'friend'}" data-role="listview"> 
          <li> 
           <a href="#"> 
            <img data-bind="attr: {src: friend.img}" alt="Friend"> 
    
            <p data-bind="text: friend.name"></p> 
           </a> 
          </li> 
         </ul> 
        </div> 
    </script> 
    

    그리고 실제 바인딩 : 템플릿을 정의합니다.

    ko.applyBindings(theMVVM, $("#random123")[0]);
    +0

    왜 투표가 늦습니까? 정교한 케어? – nhaa123

    +0

    감사합니다. 답변으로 선택되었습니다. –

    관련 문제