2017-11-07 15 views
0

これは初めてのVuejsです。私は配列に格納されているflickr APIからイメージを読み込むWebアプリケーションを構築しています。私は入力された単語に基づいて画像をフィルタリングする基本的な検索バーをしたいと思いますが、私はそれを行う方法がわかりません。配列を使って検索するJSON Vue

私は私のテンプレート

<input type="text" v-model="search" placeholder="search for image" /> 
... 
<li class="media" v-for="flickrImage in flickrImage"> 

に私が検索のために持っている機能があるしている:

export default { 
name: 'Flickrlist', 
data() { 
    return { 
    flickrImage: [], 
    search: '' 
    } 
}, 

computed: { 
    filteredImage: function() { 
    return this.flickrImage.filter((flickrImage) => { 
     return this.flickrImage.title.match(this.search) 
    }); 
    } 
} 

にはどうすればfilteredImageを渡すことができますか?

+0

あなたが作成した計算されたプロパティを使用するために** filteredImage **。また、String.match()は文字列ではなく正規表現と一致するので、そこにString.match()を使用してもよろしいですか? – 8bit

+0

ありがとうございます。 v-forではflickr APIから戻ってきたイメージのリストを表示します.FilicrImage配列を使用してイメージを表示するコードが別のメソッドを持っているため、filteredImageで置き換えてもイメージは表示されません。このため、filteredImageをどこで呼び出すのか混乱しています。すべてのコードを表示すればよいでしょうか? – user2897724

+0

確かに、大部分のコードでフィドルを作成してください。 – 8bit

答えて

0

フィルタ関数で正しい変数を参照していません。

filteredImage: function() { 
    return this.flickrImage.filter((flickrImage) => { 
     return this.flickrImage.title.match(this.search) 
    }); 
} 

filteredImage: function() { 
    return this.flickrImage.filter((x) => { 
     return x.title.match(this.search) 
    }); 
} 

であるべきそれからちょうどここ

<li class="media" v-for="flickrImage in filteredImage"> 

にテンプレートを更新する必要があなたのものに基づいて作業JSFiddleです:V-でhttps://jsfiddle.net/qt8m2rwr/1/

+0

返信いただきありがとうございますが、これで問題は解決されませんでした。私はあなたのフィドルであなたは新しいVueを使用することに気付き、私はエクスポートのデフォルトを使用します。それは問題を引き起こす可能性がありますか? "babel-loader!"に "export 'default'( '__vue_script__'としてインポート)が見つかりませんでした! また、私はflickrImagesを使用していることをどのように知っていますか?タイトル属性を検索するには? 'x'は灰色で表示され、未使用です – user2897724

+0

@ user2897724こんにちは、あなたの唯一の問題ではないかもしれませんが、あなたはまだ私が特定した問題を解決する必要があります。私はちょうどあなたの問題に関連していないVueを使用します。私はちょうどES6またはコンパイルが必要な輸入/輸出構文の代わりにすべてのブラウザと互換性のあるモードを使用しました – Gudradain

+0

@ user2897724 'x'はフィルタ関数に渡すパラメータです。関数はflickrImageの各画像に対して呼び出され、xは現在の画像を識別するために使用した変数です。コードでは、フィルタ関数内の "this.flickrImage"はまだリストを参照しているので間違っています。現在のele 。 – Gudradain

関連する問題