サルでもわかるWEBプログラミング

フリーソフトのみでホームページ作成

ユーザ用ツール

サイト用ツール


00.stencil:03.stencilの_propと_state


差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
00.stencil:03.stencilの_propと_state [2019/09/25] – [@prop()の解説のリンク] adash33300.stencil:03.stencilの_propと_state [2019/09/26] (現在) – [@state()の解説のリンク] adash333
行 30: 行 30:
  
 親コンポーネント内のデータを、子コンポーネントに伝達するためには、親コンポーネント内でデータに@prop()というデコレータをつけて、エクスポートして、それを子コンポーネントで受けとるという作業が必要になります。 親コンポーネント内のデータを、子コンポーネントに伝達するためには、親コンポーネント内でデータに@prop()というデコレータをつけて、エクスポートして、それを子コンポーネントで受けとるという作業が必要になります。
 +
 +公式ドキュメントには以下のように記載させています。後で実際に試してみたいと思います。
  
 親コンポーネント 親コンポーネント
行 38: 行 40:
 export class TodoList { export class TodoList {
   @Prop() color: string;   @Prop() color: string;
-  @Prop() todoid: number;+  @Prop() favoriteNumber: number
 +  @Prop() isSelected: boolean; 
 +  @Prop() myHttpService: MyHttpService;
 } }
 +</code>
  
 +子コンポーネントで、上記のcolorを受けとる方法
 +<code>
 +logColor() {
 +  console.log(this.color)
 +}
 </code> </code>
  
 +===== @state()の解説のリンク =====
  
  
 +https://stenciljs.com/docs/state
 +State Decorator(公式ドキュメント)
  
 +内容が変化する可能性のあるデータには、
 +@state()デコレータをつけるそうです。
  
-===== @state()の解説のリク =====+ Any changes to a @State() property will cause the components render function to be called again. 
 +@State() propertyが変更されるたびに、コンポーネントrender関数が呼び出される(再描画される)。 
 + 
 +https://www.joshmorony.com/building-a-pwa-with-stencil-storage-and-services/ では、 
 + 
 +ポーネント  src/components/app-home/app-home.tsx で、 
 +<code> 
 +  @State() holdings: Holding[] []; 
 +</code> 
 +と、holdingsに@State()をつけることで、 
 +<code> 
 +  componentDidLoad() { 
 +    const router document.querySelector("ion-router"); 
 + 
 +    // Refresh data every time view is entered 
 +    router.addEventListener("ionRouteDidChange", async () => { 
 +      const holdings await Holdings.getHoldings(); 
 +      this.holdings [...holdings]; 
 +    }); 
 +  } 
 +</code> 
 +により、ページのアドレスが変化するたびに、holdingsが再描画されて、表示されるものが最新のものになるようにしています。
  
  
-https://stenciljs.com/docs/state 
-State Decorator(公式ドキュメント) 
  
  


00.stencil/03.stencilの_propと_state.1569451636.txt.gz · 最終更新: 2019/09/25 by adash333

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki