Vue.jsを初めて使用しています。ドキュメンテーションとLaracastから始まりました。 私は少し問題があります。私は "計算"したい、私の結果のどれが高いです。ローカルコンポーネントから最大値を計算する
例:
ユーザーのリストがあります。各ユーザーにいくつかのポイントを与えることができます。合計 - すべてのユーザーに対して15ポイント。私は一流のユーザーを獲得する必要があります。私は特別な方法を定義する必要があると私は知らない。 Vueインスタンスでcomputed
を初期化してみてください。しかし、私はどのように子プロパティを取得していますか。
マイVUE-タグ
<member v-for="member in members" :count=0 v-on:increment="incrementTotal" v-on:decrement="decrementTotal">@{{member.name}}</member>
ヴュー・インスタンス:
var app = new Vue({
props: ['counter'],
el: '.vue2',
data: {
members: {!! $theme->members !!},
total: 15
},
computed: {
**// In stuck with this**
topUsers() {
//this.members.filter???
}
},
components: {
'member': member,
'topRate': topRate,
},
methods: {
incrementTotal: function() {
this.total -= 1
},
decrementTotal: function() {
this.total += 1
}
}
})
メンバーコンポーネント
var member = {
props: ['name'],
template: `
<div class=''>
<li>
<slot></slot>
<button type="button" v-on:click="decrement" class='btn'>-</button>
<span>@{{counter}}<span>
<button type="button" v-on:click="increment" class='btn'>+</button>
<input type='hidden' :name=name :value=counter>
</li>
</div>
`,
**// for each User personal counter**
data: function() {
return {
counter: 0,
}
},
**// increment/decrement user rating**
methods: {
increment: function() {
if (app.total !== 0){
this.counter += 1;
this.$emit('increment');
}
},
decrement: function() {
if (this.counter !== 0){
this.counter -= 1;
this.$emit('decrement');
}
}
},
}
ご回答いただきありがとうございます。
は、ブレードファイル内のvueインスタンスか、またはブレードで処理されていない独自のファイルですか? –
あなたがここで直面している問題は何ですか?メンバーにデータがありませんか? – Saurabh
ブレードファイル内のVueインスタンス。 – Danlex