私は学生リストデータを保持するアプリケーションを持っています。コンポーネントはそのリストを取り込み、select2を使って選択ドロップダウンをレンダリングすることになっています。パラメータなしでVue 2のコンポーネント指示文をレンダリングする
fiddlesコンソールでは、jQuery is not defined
と表示されています。私は今、すべてのfiddlesにjQueryが含まれていると思いましたか?
なぜこれがすべて一緒に壊れているのかわかりません。私の指示に間違っていますか?私はVue 2.0で彼らがparams
を削除したことを知っていますが、これで十分です。私のコードに目をつけていただければ幸いです。
// Define component
var studentsComponent = Vue.extend({
props: ['students'],
data(): {
return {}
},
methods:{},
directives: {
select: {
bind: function() {
var self = this;
var select = $('#select-student');
select.select2();
select.on('change', function() {
console.log('hey on select works!');
});
},
update: function (oldVal, newVal) {
var select = $('#select-student');
select.val(newVal).trigger('change');
}
},
},
template: `
<div>
<select
ref=""
id="select-student"
v-select>
<option value="0">Select Student</option>
<option
v-for="(student, index) in students"
:value="student.id">
{{ student.name }}
</option>
</select>
</div>
`,
});
// Register component
Vue.component('students-component', studentsComponent);
// App
new Vue({
el: '#app',
data: {
students: [
{ name: 'Jack', id: 0 },
{ name: 'Kate', id: 1 },
{ name: 'Sawyer', id: 2 },
{ name: 'John', id: 3 },
{ name: 'Desmond', id: 4 },
]
},
});
私は参考としてhttps://jsfiddle.net/hts8nrjd/4/を作成しました。 noobを助けてくれてありがとう!
ドキュメントはselect2を直接扱います。 https://vuejs.org/v2/examples/select2.html – Bert
ええ、私はそれを見ました。しかし、私はこれも技術的にはうまくいくはずだと思っています...私には何かがありますか? select2や何かのような指示はありませんか? @BertEvans:\ – Modelesq
コードにいくつかのエラーがあります。例えば 'data():{}'は 'data(){}'でなければなりません。 'update'はbindと同じ引数をとり、' oldVal、newVal' https://vuejs.org/v2/guide/custom-directive.html#Directive-Hook-Arguments – Bert