として、特定のクラスのインスタンスを考慮する:角度私は角度4に次のサービスを持っているオブジェクト
import { Injectable, EventEmitter } from '@angular/core';
import {Recipe} from './recipe'
import {Ingredient} from '../shared/ingredient'
@Injectable()
export class RecipeService {
private recipes:Recipe[]=[new Recipe("Dummy","Dummy","http://media.wiley.com/product_data/coverImage300/2X/04707687/047076872X.jpg",[new Ingredient("French Food",5),new Ingredient("Dummy Book",1)]),
new Recipe("jahangiri","a perfect vice president","http://biographyha.com/wp-content/uploads/2014/12/Eshaq-Jahangiri-biographya-com-2.jpg",[new Ingredient("French Food",5),new Ingredient("Dummy Book",1)]) ]
//do some functionalities
getRecipe(id:number)
{
return this.recipes[id];
}
editRecipe(oldRecipe:Recipe,newRecipe:Recipe)
{
this.recipes[this.recipes.indexOf(oldRecipe)]=newRecipe as Recipe;
console.log(newRecipe as Recipe)
}
//do other functionalities
}
レシピと成分たアプリで使用されるクラスです。 私はそのことを期待しますeditRecipe関数は、意図したインデックスに置換されます。置換後挿入されたアイテムのgetRecipeは失敗します。 挿入されたアイテムはオブジェクトと見なされるため、レシピの代わりに、私は明示的なキャストを行っていますが、見つけられません。 私は何ができますか? ありがとうございます。
存在しないオブジェクトが見つからない場合は、オブジェクトが最初に存在するかどうかを確認してオブジェクトを取得する必要があります。 –
目的のアイテムが存在していますが、確認するために配列を記録しましたが、** Recipe **の代わりに** Object **として保存されています。 –
オブジェクトの種類は? –