예, 템플릿 도우미 함수에 의해 설정된 class
을 통해 스타일을 설정하는 것이 일반적입니다. 버튼/입력 요소를 비활성화를 들어, 당신은 단지 class
대신 disabled
속성을 사용할 수 있습니다 : 다음
<button type="button" {{#if buttonDisabled}}disabled{{/if}}>Button Text</button>
또는
<input type="button" value="Button Text" {{#if buttonDisabled}}disabled{{/if}} />
및 작업을 수행합니다
Template.yourFormTemplate.buttonDisabled = function() {
// return true or false depending on if the button should be disabled
};
문제가 유성이다 템플릿을 다시 렌더링하면 스타일을 설정하는 요소가 실제로 새 것으로 대체됩니다. Meteor 팀은 현재 더 세분화 된 수준에서 작동하는 새로운 템플릿 엔진을 개발 중이므로 요소가 반드시 그런 식으로 교체되지는 않습니다.
meteor --release shark-1-29-2014-e
또는 그러나
mrt --release shark-1-29-2014-e
, 그것은 여전히 일반적으로 class
속성을 통해 스타일 요소에 권장 설정 :이 명령을 사용하여 새 템플릿 엔진의 프리뷰 버전과 현재의 코드를 시도 할 수 있습니다 템플릿 도우미로. 이것은 자바 스크립트에서 직접 스타일을 설정하는 절대적인 방법보다는 일을하는 "유적 방식"에 더 잘 맞는 더 선언적이고 템플릿 중심의 접근 방식입니다. 또한 CSS를 사용하여 실제 스타일을 제어 할 수 있으므로 염려를 분리하는 데 도움이됩니다.
감사합니다. 실제로 반응 변화가 발생할 때마다 template.render가 실행 중입니다. 흥미로운 점은 '.value'값을 설정하면 템플릿 다시 렌더링에 의해 무시되지 않는다는 것입니다. –
예, 이전 템플릿 엔진이 HTML 출력에 변경 사항을 반영 할 수있는 방법입니다. 새 템플릿 엔진은 훨씬 더 똑똑해 개별 요소를 대체하거나 개별적으로 특성을 설정할 수 있습니다. 이런 이유 때문에 Meteor가 템플릿의 일부를 다시 렌더링하는 것을 방지하기위한 오래된 해결 방법 이었기 때문에'{{#constant}}, {{#isolate}} 및 'preserve'는 더 이상 필요하지 않습니다. – sbking
Meteor 문서의 관련 부분은 다음과 같이 오래된 템플릿 엔진이 작동하는 이유를 설명하는 데 도움이됩니다. http://docs.meteor.com/#template_preserve, http://docs.meteor.com/#constant 및 http : //docs.meteor.com/#isolate. 다시 말하지만, 이러한 기능 중 세 가지가 모두 더 이상 필요하지 않을만큼 똑똑하기 때문에 새 템플릿 엔진에는 존재하지 않습니다. – sbking