본문 바로가기

Javascript/Knockout

The "html" binding

The "html" binding

Purpose(목적)

html 바인딩 여러분의 파라미터로 특정한 HTML을 해당 DOM에서에 보여줍니다.

일반적으로 여러분이 렌더링하고 싶은 HTML string을 보여줄때 유용합니다.

Example

<div data-bind="html: details"></div>
 
<script type="text/javascript">
    var viewModel = {
        details: ko.observable() // Initially blank
    };
    viewModel.details("<em>For further details, view the report <a href='report.html'>here</a>.</em>"); // HTML content appears
</script>

Parameters(파라미터)

  • Main parameter(주 파라미터)

    KO는 요소의 innerHTML속성을 여러분의 파라미터 값으로 설정합니다. 어떤 전의 내용들은 덮어 써질수 있습니다.

    만약 이 파라미터가 observable값이면 바인딩은 값이 변경될때만다 자동으로 변경됩니다. 만약 observable이 아니면 요소에 한번만 적용되고 그다음부터는 적용되지 않습니다.

    만약 숫자또는 string이외의 것들을 제공하고 싶다면 innerHTML은yourParameter.toString() 와 같을 것입니다.

  • Additional parameters(추가적인 파라미터)

    • None(없음)

참고: HTML Encoding

innerHTML을 이용하여 여러분의 요소의 내용이 바인딩된후 여러분은 반드시 신뢰할수 없는 모델 값들을 사용하는것을 자제해야합니다 왜냐면 script injection을 당할수 있기 때문입니다. 만약 여러분이 이 내용은 보여주기에 안전하지 않다고 판단된다면 text binding을 사용하십시오. text binding은 innerHTML대신 innerText 또는 textContent을 사용할 것입니다.

필요한 라이브러리

Kockout Core Library