computed: {
isInitalized() {
return this.currentState === IS_INITIALIZED;
},
isFetching() {
return this.currentState === IS_FETCHING;
},
isFailed() {
return this.currentState === IS_FAILED;
},
isFound() {
return this.currentState === IS_FOUND;
},
/** * TODO: 算出プロパティを定義する * この算出プロパティは、現在の状態が「検索テキストに該当する画像データがない状態」と一致するときにtrueを返す */
},
methods: {
// 状態を変更する
toFetching() {
this.currentState = IS_FETCHING;
},
toFailed() {
this.currentState = IS_FAILED;
},
toFound() {
this.currentState = IS_FOUND;
},
/** * TODO: メソッドを定義する * このメソッドは、現在の状態を「検索テキストに該当する画像データがない状態」に変更する */ // Vueインスタンスのデータとして、検索テキストを保持しておく this.prevSearchText = searchText; this.toFetching(); const url = getRequestURL(searchText); $.getJSON(url, (data) => { if (data.stat !== 'ok') { this.toFailed(); return; } const fetchedPhotos = data.photos.photo; // 検索テキストに該当する画像データがない場合 if (fetchedPhotos.length === 0) { // TODO: メソッドを呼び出して、現在の状態を「検索テキストに該当する画像データがない状態」に変更する this.prevSearchText(); return; }
TODOの部分がわからずアドバイスお願いします。
<code>ボタンで書式が適用されたコードに変更してください
あなたの回答
tips
プレビュー