vue.js 2を使用して、forループ内で、現在の反復アイテムが何らかのテストをパスした場合にのみ、行をレンダリングする必要があります。forループの中で関数を呼び出して現在の項目を渡す方法は?
テストは複雑なので、v-if="item.value == x"
はしません。
<template v-for="issue in search_results.issues">
<tr v-if="testIssue(issue)">
....
</tr>
</template>
var releaseApp = new Vue({
el: '#release-app',
methods: {
testIssue: function(issue) {
console.log(issue);
console.log('test');
},
},
mounted: function() {},
data: {
search_results: {
issues: []
},
}
});
しかし、testIssue
が呼び出されることはありません:
私は項目を受け付けてtrueまたはfalseを返し、それがこのようなv-if
で使用しようとしたtestIssue
という名前の関数を書きました。
私が行を<tr v-if="testIssue">
に変更すると、関数が呼び出されますが、テストする必要がある変数がissue
ではありません。
私も<tr v-if="releaseApp.testIssue(issue)">
どのように私は、forループの内部v-if
宣言で関数を呼び出すと、現在のアイテムを渡すことができますを試してみましたか?
@delightedDODというコードを見ているのは、テンプレート要素が存在するところに単一のファイルコンポーネントを使用していないことです。彼はそれをプレーンなjavascriptのやり方でやっています。したがって、テンプレートタグ上の 'v-for'は、id##release-appを持つ親要素の中にあるので可能です。これを参照してくださいフィドル(https://jsfiddle.net/r_vamsi_krishna/50pgoo5u/3/) –
はい、彼は子供のコンポーネントなしでもそれを行うことができます。 – MatWaligora
子要素なしではどういう意味ですか –