2017-07-05 25 views
0

同じコードを何度も繰り返し書き直さないように、VueJsコンポーネント機能を使用してSelectドロップダウンリストを含むコンポーネントを作成しています。 コードあなたが見ることができるように、このVueJsコンポーネント内でRazorを使用する

Vue.component('select-component', { 
     template: ` 
      <label>elType</label> 
      <div class="col-md-colwidth"> 
      <select> 
       <option value=""></option> 
       @foreach (elType s in ViewBag.elTypes) 
       { 
        <option value="@s[elType+"ID"]">@s["Designation"+elType]</option> 
       } 
      </select> 
      <input type="hidden" v-model="elTarget"> 
      </div> 
      `, 
     props: { 
      elType: { 
       type: String, 
       default: 'User' 
      }, 
      elTarget: { 
       type: String, 
       default: 'user' 
      }, 
      colwidth: { 
       type: int, 
       default: '3'}, 


     } 
    }) 

ようになり、私はViewBag から持ってきたいくつかのデータのリストを必要とするが、私が得るすべては、カミソリは常にそれがVueのコンポーネントの内部にあるとことを無視しているということです"型または名前空間の名前 'elType'が見つかりませんでした。

PS: 1)BSのjQueryを操作するために、元のコードで使用されている隠し入力はelTargetとelTypeを気にしないでください

2)SELECT2:Pそれは私がに怠け者を除いて、実際には同じものです私はかみそりは、ページのサーバー側を生成するので、あなたはカミソリ「内部」Vueのコンポーネントを使用することはできません{} @内部をラップしようとしたが、それでも同じエラーを切り替える

答えて

1

)のp

3:単語をキャメルケースVueがブラウザでそのことをする前に。あなたが持っているのは、Razorページ内のVueコンポーネントです。 elTypeはVueの小道具として定義されているので、あなたのビューバッグにはない可能性はありますか?

いずれにしても、この操作を行わないでください!剃刀を使用するまたは Vue Vueを選択した場合、vueコンポーネントは静的な.jsまたは.vueファイルであり、データはAJAX呼び出しを介して到着し、v-forでelTypeをループします。他の方法で狂気につながる:-)

関連する問題