가장 기본적인 분기문인 특정 속성의 값을 기반으로 템플릿 렌더링이 필요한 경우가 종종 있습니다. Angular에는 ng-if가 있고 Polymer에는 dom-if가 있습니다. 사실 dom-if는 이 주제에 대한 액세스 포인트일 뿐입니다. 사실 제가 소개하고 싶은 것은 is 속성입니다.
이전에 소개된 dom-repeat와 마찬가지로 dom-if는 is 속성을 통해 템플릿 요소에 사용됩니다. 예를 들어 다음 예에서는 두 템플릿이 바인딩된 컨트롤의 부울 값을 기반으로 렌더링되어야 하는지를 결정합니다.
실행
<script> var Polymer = { dom: 'shadow' }; </script> <base href="http://www.web-tinker.com/share/" /> <link rel="import" href="polymer/polymer.html" /> <dom-module id="demo-test"> <template> <input type="checkbox" checked="{{checked::change}}"> <template is="dom-if" if="[[checked]]">true</template> <template is="dom-if" if="[[!checked]]">false</template> </template> <script> Polymer({ properties: { checked: { value: false } }, is: 'demo-test' }); </script> </dom-module> <demo-test></demo-test>
실행
<script> var Polymer = { dom: 'shadow' }; </script> <base href="http://www.web-tinker.com/share/" /> <link rel="import" href="polymer/polymer.html" /> <script> Polymer({ is: 'demo-test', extends: 'div', <!-- 关键就在这里 ready: function(e) { this.innerHTML = '我是一个 demo-test'; } }); </script> <div is="demo-test"></div>