私は昨年、Reactといくつかのプロジェクトを行いました。私は現在のものをVueに切り替えました。よりシンプルで、冗長性が低く、あなたのコードを翻訳する必要はありませんので、より柔軟にすることが容易です(正確には、にはに反応がありますか、JSXを使う必要はありません。あなたがしなければ大きな利点の一つです)。Vue.jsのDRYを維持する
とにかく、私がReactから逃していることの1つ(そして私の問題であるVueの方法を知らないこと)は、テンプレートで自分自身を繰り返すことを避けるためにコードの断片を再利用する方法です。そうでない場合は、私のようにそれを使用したいと思い、私はdivの中でそれをラップしたいと思います特定の状況で
<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を使用することができます。その後、私は、次のような何かを行うことができ
var inp=(<input ref="input" :id='name' :name='name' :type='fieldType' class='form-control' :value="value" :readonly="readonly" :disabled="disabled"
@input="handleInput"/>);
:反応すると、私は単純に、変数にこのような何かを、それを保存したいです。しかし、Vueロジックはこれを許可していないようです。もちろん、Vue内でJSXを使用しない限り、私はまったく同じことをすることができますか?あなたはパー要件として使用することができる再利用可能なコンポーネントのためのVUE componentsを作成することができます
<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>
'v-html'テンプレートは'普通のHTMLとして挿入されています - 彼らはVueテンプレートとしてコンパイルされません 'と言うので、入力をvueのテンプレートに移動し、 'prefix = '
うーん、私はこれが動作するとは思わない。入力は反応する必要があります。これは、Vueによって処理されないページにHTMLを出力するように見えます。または私は何かを誤解したことがありますか?ちなみに、レンダリング関数はおそらく私の要求をうまく満たしていると思います。それを使う方法について頭を悩ますことができます:) –
@JohnMoore入力を無効にしたい場合は、カスタムコンポーネントを作成して、 。 – Saurabh