Knockout text 바인딩 DOM 사용 방법

1814 단어
단순 바인딩
 
  
Today's message is:
  
    <br>    var viewModel = {        <br>        myMessage: ko.observable()     <br>    }; <br>    viewModel.myMessage("Hello, world!"); <br>    ko.applyBindings(viewModel); <br>

KO는 요소의 innerText(IE) 또는 textContent(Firefox와 다른 비슷한 브라우저) 속성에 매개변수 값을 설정합니다.원래 텍스트는 덮어씁니다.
만약 파라미터가 감시 속성observable라면, 요소의 text 텍스트는 파라미터 값의 변화에 따라 업데이트되고, 그렇지 않으면 요소의 text 텍스트는 한 번만 설정되며, 이후에는 업데이트되지 않습니다.
만약 숫자나 문자열 (예를 들어 대상이나 그룹) 이 아니라면, 표시된 텍스트는 yourParameter입니다.toString()의 등가 내용입니다.
함수나 표현식을 사용하여text값을 결정합니다
계속해서 위의 ViewModel에 속성을 추가하고 모니터링 종속 속성을 추가합니다.
 
  
price: ko.observable(24.95)
    viewModel.priceRating = ko.dependentObservable(
        function () {
         return this.price() > 50 ? "expensive" : "affordable";
        }, viewModel);

바인딩할 UI 페이지 요소 추가
 
  
The item is today.

현재 text 텍스트는 "expensive"와 "affordable"사이로 바뀔 것입니다. 가격이 어떻게 바뀌느냐에 따라 달라집니다.
HTML encoding 정보
이 귀속은 요소를 설정하는 innerText나 textContent (innerHTML 대신) 이기 때문에 HTML이나 스크립트가 주입될 위험이 없습니다.예를 들어 다음과 같은 코드를 작성할 경우
 
  
viewModel.myMessage("Hello, world!");

기울임꼴이 표시되지 않고 출력 태그가 그대로 표시됩니다.HTML 내용을 표시하려면 html 바인딩을 참조하십시오.
IE 6에 대한 공백 whitespace
IE6에 이상한 문제가 있습니다. 스폰에 빈칸이 있으면 자동으로 빈 스폰이 됩니다.다음 코드를 작성하려면 Knockout이 작동하지 않습니다.

좋은 웹페이지 즐겨찾기