2014-01-11 2 views
0

녹아웃으로 javascript 템플릿을 사용하고 있습니다. 나는 그러나 컨테이너가의 값으로 textcontetn 표시 div 요소를에 geting하고녹아웃 템플릿 바인딩이 완전히 작동하지 않습니다.

<div data-bind="template: { name: 'treeElement', foreach: results } "> '위 같은

<script type=text/html> 
<!--ko if: a>b --> 
    <div data-bind={textcontent:a}/>` 
<!--/ko--> 
</script> 

뭔가 ..에 ..> b를 적용 받고 있지 않습니다 계산하지 바인딩. 그래서 그것을 단지 구문을 무시 ..

+0

나는 용기를 생각 덜 바인딩 첫 번째 노드 일 수있다니까. div에 포장하기 –

+0

@PWKad 여기에 예를 들어 보여주었습니다. 실제 코드에서 div 태그로 싸여 있습니다 .. – user1879852

+0

jsFiddle을 작성하여 문제 식별에 도움을 줄 수 있다면 도움이 될 것입니다. 그것으로. –

답변

0
  • 당신이 의견이 바인딩에 그런 속성의 이름을 작성하는 때 당신은 현재 당신이시만큼 그 결과를 해결하기 위해 그것들을 실행해야 두 가지 기능을 비교합니다.

  • div 태그가 모두 닫혀 있고 바인딩이 실패한 유선 작은 따옴표로 끝나지 않으므로 마크 업이 잘못되었습니다.

  • textcontent으로 알려진 녹아웃에서 그러한 결합이있다.

    var treeElements = [ 
        {"a" : 2 , "b" : 1}, 
        {"a" : 4 , "b" : 6}, 
        {"a" : 9 , "b" : 5}, 
        {"a" : 2 , "b" : 7}, 
        {"a" : 4 , "b" : 9}, 
    ] 
    
    function treeElement(data){ 
        this.a = ko.observable(data.a); 
        this.b = ko.observable(data.b); 
    } 
    
    function viewmodel(){ 
        var self = this; 
        self.results = ko.observableArray(); 
        self.init = function(){ 
         ko.utils.arrayForEach(treeElements, function(item){ 
          self.results.push(new treeElement(item)); 
         }); 
        } 
    } 
    
    var myVM = new viewmodel(); 
    myVM.init(); 
    ko.applyBindings(myVM); 
    

    당신이 잘되어야합니다 : 우리는 당신이 당신의 시나리오 내 구조와 유사한 뷰 모델이 가정

    <div data-bind="template: { name: 'treeElement', foreach: results }"></div> 
    
    <script type="text/html" id="treeElement"> 
    <!--ko if: a() > b() --> 
        <div data-bind="text: a() + ' is bigger than ' + b()"/></div> 
    <!--/ko--> 
    </script> 
    

    과 :에 당신이 당신의 HTML을 변경하는 경우

가다.

Here is also a working fiddle

+0

을 게시하면 모든 것이 잘 작동합니다. nt 작업은 ko if 및 ifnot 조건 .. 심지어 조건은 브라우저에서 작동하고 있습니다. 나는 Windows에서 자바 스크립트 응용 프로그램을 저장하려고합니다. 창문 8.1 – user1879852

관련 문제