나는 작년에 React와 함께 몇 가지 프로젝트를 수행했으며 현재 단순한 Vue로 전환했습니다. 현재 단순한 Vue로 전환했습니다. 코드를 작동시킬 필요가 없으므로보다 유연하게 작업 할 수 있습니다. (정확히 말하자면 은에 반응이 있어야합니다. JSX를 사용할 필요가 없습니다. 당신이하지 않으면 큰 이점 중 하나).Vue.js에 DRY 유지
어쨌든, 필자가 React에서 빠뜨린 것 중 하나는 템플릿에서 반복되는 것을 피하기 위해 코드 조각을 재사용하는 방법입니다. 그렇지 않으면 내가로 사용 싶어, 내가 사업부에서 포장 싶어 특정 상황에서
<input ref="input" :id='name' :name='name' :type='fieldType' class='form-control' :value="value" :readonly="readonly" :disabled="disabled" @input="handleInput"/>
:이 질문을하라는 메시지가 구체적인 상황은이 같은 사용자 정의 입력 요소가 템플릿했다 입니다. 반작용으로, 단순히 다음과 같이 변수에 뭔가를 저장할 것 :
var inp=(<input ref="input" :id='name' :name='name' :type='fieldType' class='form-control' :value="value" :readonly="readonly" :disabled="disabled"
@input="handleInput"/>);
그런 다음 나는 다음과 같이 뭔가를 할 수 :
var myInput;
if(divSituation){
myInput=(<div>{inp}</div>);
} else {
myInput=inp;
}
는 다음 나는 myInput var에 사용할 수 있습니다. Vue 논리는 이것을 허용하지 않는 것처럼 보입니다. 물론 Vue 내에서 JSX를 사용하지 않으면 똑같은 일을 할 수 있습니까?
<template v-if="divSituation">
<div><input ref="input" :id='name' :name='name' :type='fieldType' class='form-control' :value="value" :readonly="readonly" :disabled="disabled" @input="handleInput"/></div>
</template>
<template v-else>
<input ref="input" :id='name' :name='name' :type='fieldType' class='form-control' :value="value" :readonly="readonly" :disabled="disabled" @input="handleInput"/
</template>
doc은'v-html' 템플릿이 일반 HTML로 삽입되어 Vue 템플릿으로 컴파일되지 않을 것이므로 입력을 vue의 템플릿으로 옮기고'
'을'prefix = '흠, 나는 이것이 효과가 있다고 생각하지 않는다. 입력은 반응 적이어야합니다. 이것은 Vue가 처리하지 않는 페이지에 일부 HTML을 출력하는 것처럼 보입니다. 아니면 내가 잘못 이해 한거야? 덧붙여 말하자면, 렌더 함수가 아마도 내 요구 사항을 훌륭하게 충족시킬 것이라고 생각합니다. 사용 방법에 대해 머리를 맞출 수 있다면 ... –
@JohnMoore 입력을 반응 적으로 만들고 싶다면 업데이트 된 답변을 참조하십시오. . – Saurabh