目次
キーテイクアウト
これは簡単な例では問題ではないかもしれませんが、システムが成長し、ますます多くの要件が収集されるにつれて大きな欠点に変わる可能性があります。カスタム属性を使用して既存の要素を強化する

aurelia.ioは、他のJavaScriptフレームワークと比較していますか?
aurelia.io?

aurelia.ioの方法を拡張します

Feb 20, 2025 am 11:05 AM

aurelia.ioの方法を拡張します

キーテイクアウト

    最新のJavaScriptフレームワークであるAurelia.ioは、開発者がHTMLでカスタム要素と属性を作成し、Webアプリケーションの柔軟性と機能を強化できるようにします。 Aurelia.ioのカスタム属性を使用して、既存のプラグインをラップしたり、一般的なバインディングのショートカットを提供したり、直接コードアクセスなしで既存のHTML要素を変更したりできます。これにより、既存の要素に新しい機能を簡単に追加できます。 Aurelia.ioで新しい要素を作成するには、要素のクラスとそのHTML表現のビューを定義することが含まれます。これにより、カスタムの動作と構造を備えたまったく新しい要素を作成し、コードの再利用とモジュラー設計を改善できます。
  • aurelia.ioは、一連の単純な規則を使用して、必要なコードの量を減らし、開発者に優しいものにします。また、他のJavaScriptライブラリやフレームワークとの互換性を提供し、Web開発の柔軟性を高めることができます。
  • 老犬を教えるHTMLの新しいトリックは、今日の現代のJavaScriptフレームワークの主要な焦点です。 WebComponentsなどの潜在的な標準に従ったり、カスタムディレクティブを作成したり、既存のクラスを拡張することにより、選択したフレームワークがHTMLのマークアップ自体を拡張する手段を提供する可能性が高くなります。 Brad Barrowによって書かれた以前の記事で、あなたは新しいプレーヤーであるAureliaに紹介されました。この記事では、Bradの記事とコードに基づいて、Aureliaの慣習をフォローしてカスタム要素とカスタム属性を作成する方法を示します。 この記事の完全なコードはGitHubリポジトリで見つけることができ、ここで構築するもののデモを見ることができます(アプリが初期化するのに時間をかけてください)。
  • なぜマークアップが必要なのか?
  • アクションにまっすぐジャンプする前に、まず新しいコンポーネントを作成するための潜在的なユースケースを理解しましょう。そのために、下の図に示すように、紹介例を概念的に見てみましょう。ビューモデル(VM)とビューで表される2ページがあり、面白い写真とGIFビデオを表示しています。それらのそれぞれには、画像とテキストブロックを含む投稿をレンダリングする繰り返しリストがあります。
aurelia redditクライアントの概念図

ビューを見ると、データ収集とレンダリングが1つのVM/ビューペアに緊密に結合されていることがわかります。

これは簡単な例では問題ではないかもしれませんが、システムが成長し、ますます多くの要件が収集されるにつれて大きな欠点に変わる可能性があります。カスタム属性を使用して既存の要素を強化する

面白いページの各投稿にポップオーバーを提供するリクエストを受け取ると想像してください。それを行うために、必要なデータ属性を配置することにより、Bootstrapの機能をMarkupに直接簡単に配線できます。しかし、他のページでも突然それを行う必要がある場合はどうでしょうか?カスタム属性を宣言することで機能を提供することで、私たちの生活をずっと楽にすることができます。これらは、次のシナリオに特に役立ちます:

  • 既存のプラグインをラップ
  • スタイルやクラスなどの一般的なバインディングのショートカット
  • 直接コードアクセスなしで既存のHTML要素 /カスタム要素を変更する
次に、手を汚し、最初のカスタム属性を構築するために必要なことを見てみましょう。

ポップオーバーの作成

始めたいことを見てみましょう。新しい属性ポップオーバーは、ポップオーバーの配置、タイトル、コンテンツのパラメーターを受け入れる必要があります。配置は右側に固定されているため、値としての単純な文字列で十分です。他の2つのプロパティについては、Aureliaのデータバインディングを使用して、反復値をマッピングします。ファイルをロードするために、Aureliaの要求機能を使用します。 From属性には、インポートするリソースへの相対パスが含まれています。

<span><span><span><template</span>></span>
</span>  <span><span><span><ul</span> class<span>="list-group"</span>></span>
</span>    <span><span><span><li</span> class<span>="list-group-item"</span> repeat.for<span>="p of posts"</span>></span>
</span>      <span><span><span><img</span> src.bind<span>="p.data.thumbnail"</span> /></span>
</span>      <span><span><span><a</span> href<span>="http://reddit.com${p.data.permalink}"</span>></span>
</span>        ${p.data.title}
      <span><span><span></a</span>></span>
</span>    <span><span><span></li</span>></span>
</span>  <span><span><span></ul</span>></span>
</span><span><span><span></template</span>></span></span>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
それを実現するために、PopOver.jsというSRCフォルダーに新しいJavaScriptファイルを作成することから始めます。カスタム属性は、他のすべてのAureliaコンストラクトと同様に、事前定義されたAPIに渡される関数のコレクションではなく、単純なエクスポートされたES6クラスです(多くのレガシーフレームワークが行うように)。

他のフレームワークと比較して、Aureliaはメタデータを介してそれらを記述することにより、構造を宣言します。しかし、静的関数や複雑なAPIを使用する代わりに、Aureliaは最先端のES7デコレータを活用してそれを実現します。パッケージAurelia-Frameworkから必要なデコレーターをインポートします。コントロール自体については、Twitter Bootstrapが提供するPopover JavaScriptコントロールを使用します。そのため、bootstrapsのJavaScriptコードを初期化するために、jQueryハンドル$とブートストラップをインポートします。

<span><span><span><require</span> from<span>="./popover"</span>></span><span><span></require</span>></span>    
</span>...
<span><span><span><img</span> src.bind<span>="p.data.thumbnail"</span>
</span></span><span>     <span>popover<span>="placement: 'right';
</span></span></span><span><span>              title.bind: p.data.url;
</span></span><span><span>              content.bind: p.data.title<span>"</span> /></span></span>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
次のステップは、前述のメタデータを適用して、Aureliaがファイルをロードしたときに何が得られるかを知っていることです。 CustomAttributeデコレータを接続することにより、指定された値でコンポーネントに名前を付けます。一方、バインド可能なデコレーターは、私たちの見解が拘束できるプロパティを宣言しています。利用可能なプロパティごとにこのデコレーターを繰り返すだけです。

最初の注射デコレータは、実際のDOM要素をコンストラクターメソッドのパラメーターとして提供し、後で使用するために保存されます。

<span><span><span><template</span>></span>
</span>  <span><span><span><ul</span> class<span>="list-group"</span>></span>
</span>    <span><span><span><li</span> class<span>="list-group-item"</span> repeat.for<span>="p of posts"</span>></span>
</span>      <span><span><span><img</span> src.bind<span>="p.data.thumbnail"</span> /></span>
</span>      <span><span><span><a</span> href<span>="http://reddit.com${p.data.permalink}"</span>></span>
</span>        ${p.data.title}
      <span><span><span></a</span>></span>
</span>    <span><span><span></li</span>></span>
</span>  <span><span><span></ul</span>></span>
</span><span><span><span></template</span>></span></span>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

これで、Bindと呼ばれる方法を宣言することにより、行動のライフサイクルを選択できるすべての必要な情報が得られました。これにより、jQueryの対応方法に匹敵する適切なタイミングでコンポーネントを初期化することができます。

<span><span><span><require</span> from<span>="./popover"</span>></span><span><span></require</span>></span>    
</span>...
<span><span><span><img</span> src.bind<span>="p.data.thumbnail"</span>
</span></span><span>     <span>popover<span>="placement: 'right';
</span></span></span><span><span>              title.bind: p.data.url;
</span></span><span><span>              content.bind: p.data.title<span>"</span> /></span></span>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

最後になりましたが、変更されたハンドラーを追加します。バインディングソースは時間とともに変化していないため、これらは実際には例では実行されていないことに注意してください。

<span>import <span>{customAttribute, bindable, inject}</span> from 'aurelia-framework';
</span><span>import $ from 'bootstrap';
</span><span>import bootstrap from 'bootstrap';
</span><span>...</span>
ログイン後にコピー

githubの完全なファイルを表示

既存の要素に属性を提供することで新機能を追加する方法がわかりました。先に進んで、独自のカスタム要素を書き始めましょう。

カスタム要素を使用して新しいタグを作成します

まったく新しい要素を作成するために、Aureliaはカスタム属性と非常によく似たアプローチを活用します。例として、GIFページの投稿を再構築して、Reddit-GIFと呼ばれるカスタム要素で表され、実際のビデオのオンとオフを切り替える可能性を提供します。私たちの見解の結果のマークアップは、これでなければなりません:

@<span>inject(Element)
</span>@<span>customAttribute('popover')
</span>@<span>bindable('title')
</span>@<span>bindable('content')
</span>@<span>bindable('placement')
</span><span>export class Popover {
</span><span>...</span>
ログイン後にコピー
ご覧のとおり、新しいタグを使用し、データバインディングを介してデータプロパティを介して必要な情報を提供します。

次のステップは、実際の要素を作成することです。フォルダーSRCに、要素のビューReddit-gif.htmlとそのVM Reddit-gif.jsを作成することにより、それを行います。次に見られるビューは、gifs.htmlからの以前のマークアップを活用し、実際のビデオを埋め込むために使用されるiframeを切り替えるボタンを追加することです。繰り返しになりますが、Aureliaのビューはテンプレートタグに包まれています:

VMパーツを見ると、カスタム属性を作成するときと同様のプロセスに従います。しかし、今回は別のデコレーターを活用して、Aureliaに、データという名前の1つのプロパティのみを使用してCustomElementを作成することを伝えます。
<span>constructor(element) {
</span>  <span>this.element = element;
</span><span>}</span>
ログイン後にコピー

次に、iFrameを表示するかどうかを追跡するために、Gifactiveメンバーを定義しています。また、IFRAMEが見えない場合はコンテンツを事前にロードしないように、最初にGIFSRCメンバーを空にするように設定します。

<span>bind() {
</span>  <span>// initialize the popover
</span>  <span>$(this.element).popover({ 
</span>    <span>title: this.title,
</span>    <span>placement: this.placement,
</span>    <span>content: this.content,
</span>    <span>trigger: 'hover' });
</span><span>}</span>
ログイン後にコピー

最後になりましたが、各コールで可視性とソースをフリップするトグルボタンで使用されるトグルギフ関数を追加します。

<span>titleChanged(newValue){
</span>  <span>$(this.element).data('bs.popover').options.title = newValue;
</span><span>}
</span>
<span>contentChanged(newValue){
</span>  <span>$(this.element).data('bs.popover').options.content = newValue;
</span><span>}
</span>
<span>placementChanged(newValue){
</span>  <span>$(this.element).data('bs.popover').options.placement = newValue;
</span><span>}</span>
ログイン後にコピー
ここで完全なHTMLファイルとJSファイルをこちらで表示できます

コードの量を規則で減らす

<span><span><span><require</span> from<span>="./reddit-gif"</span>></span><span><span></require</span>></span>
</span>...
<span><span><span><ul</span> class<span>="list-group"</span>></span>
</span>    <span><span><span><li</span> class<span>="list-group-item"</span> repeat.for<span>="p of posts"</span>></span>
</span>      <span><span><span><reddit-gif</span> data.bind<span>="p.data"</span>></span><span><span></reddit-gif</span>></span>
</span>    <span><span><span></li</span>></span>
</span><span><span><span></ul</span>></span></span>
ログイン後にコピー

Aureliaは、開発者エクスペリエンスを可能な限り快適にすることです。真実に直面しましょう。私たちの多くは多くのタイプを好きではありません。したがって、貴重なキーストロークを節約し、時間の経過とともにメンテナンスを改善するために、Aureliaは一連の簡単な慣習を使用します。たとえば、バインド可能なデコレーターのフルバージョンは実際にはこのように見えるかもしれません。他のすべてのオプションは自動的に推測されます。

<span><span><span><template</span>></span>
</span>  <span><span><span><ul</span> class<span>="list-group"</span>></span>
</span>    <span><span><span><li</span> class<span>="list-group-item"</span> repeat.for<span>="p of posts"</span>></span>
</span>      <span><span><span><img</span> src.bind<span>="p.data.thumbnail"</span> /></span>
</span>      <span><span><span><a</span> href<span>="http://reddit.com${p.data.permalink}"</span>></span>
</span>        ${p.data.title}
      <span><span><span></a</span>></span>
</span>    <span><span><span></li</span>></span>
</span>  <span><span><span></ul</span>></span>
</span><span><span><span></template</span>></span></span>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

見るべきもう1つのことは、複数のプロパティの使用を短縮する方法です。したがって、それぞれを1つずつ定義する代わりに、動的特性を期待するようにカスタム属性に伝えることもできます。そのために、Dynamicoptionsデコレーターでクラスを飾ります。これで、同じビューマークアップを再利用できますが、名前が示すように、動的なコンテキストでは非常に役立つすべてのプロパティ宣言を手動で定義する必要はありません。これは、DynamicPropertyChangedと呼ばれる1つの一般的な変更ハンドラーを書くことができることを意味します。これは、バウンドプロパティが変更されるたびに呼び出されます。

<span><span><span><require</span> from<span>="./popover"</span>></span><span><span></require</span>></span>    
</span>...
<span><span><span><img</span> src.bind<span>="p.data.thumbnail"</span>
</span></span><span>     <span>popover<span>="placement: 'right';
</span></span></span><span><span>              title.bind: p.data.url;
</span></span><span><span>              content.bind: p.data.title<span>"</span> /></span></span>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
しかし、カスタム要素はどうですか?さて、私たちはそれを認識することさえせずに、すでにいくつかの慣習を暗黙的に使用しています。システムは、同じ名前を持っているだけで、ビューとVMペアを自動的にまとめました。別のビューを使用する必要がある場合は、Decorator @useview(RecativePath)を使用できます。または、@noviewを宣言してビューをまったく使用しないでください。デコレーターのUseshadowdomを追加することで、狂って、Shadowdomに見方をレンダリングすることもできます。その用語に慣れていない場合は、この記事をご覧ください

結論

アウレリアのチームである私たちは、カスタム要素と属性を活用することにより、HTML自体を拡張する方法の簡単な概要を提供したいと考えています。例を通して、柔軟な、しかし使いやすいフレームワークを提供することで、開発者エクスペリエンスに焦点を当てることができることを願っています。ご不明な点がございましたら、Gitterチャンネルに参加してください。また、最初のカスタム要素と属性を書くときのあなたの経験を聞きたいです。

Aurelia.io

でHTMLを拡張することに関するよくある質問(FAQ)

aurelia.ioは、Web、モバイル、およびデスクトップ開発のための最新のオープンソースJavaScriptフレームワークです。開発者がカスタムHTML要素を作成し、既存のHTML要素にカスタム属性を追加し、HTMLレンダリングのフローを制御できるようにすることにより、HTMLを拡張します。これは、Aureliaの強力なテンプレートエンジンを通じて達成されます。これにより、カスタム要素と属性を解釈し、標準のHTMLとしてレンダリングします。これにより、クリーンで読みやすいコードを維持しながら、よりダイナミックでインタラクティブで複雑なWebアプリケーションが可能になります。

aurelia.ioは、他のJavaScriptフレームワークと比較していますか?

aurelia.ioは、Web標準、シンプルさ、および拡張性に焦点を当てているため、他のJavaScriptフレームワークから際立っています。多くのフレームワークとは異なり、aurelia.ioはコラボレーションライブラリのコレクションになるように設計されています。つまり、必要なだけフレームワークを使用できます。また、コンベンションベースのクリーンなコーディングを強調し、必要なボイラープレートコードの量を減らします。さらに、Aurelia.ioのWeb標準に従うことへのコミットメントは、コードが今後のWebテクノロジーと将来のプルーフで互換性があることを意味します。 Aurelia.ioのカスタム要素には、要素のクラスとそのHTML表現のビューを定義することが含まれます。クラスには要素のロジックが含まれ、ビューはそのHTML構造を定義します。定義されると、カスタム要素は、標準のHTML要素と同様に、Aurelia.ioアプリケーションで使用できます。これにより、コードの再利用とモジュラー設計が可能になり、アプリケーションが開発と維持を容易にします。 IOは、既存のHTML要素にカスタム動作を追加する方法です。これらは、属性のロジックのクラスとHTML表現のビューを使用して、カスタム要素と同様の方法で定義されています。定義されると、カスタム属性はAurelia.ioアプリケーションのHTML要素に追加でき、まったく新しい要素を作成する必要なく機能を拡張できます。

aurelia.ioは双方向のデータバインディングをサポートしています。つまり、モデルの変化はビューを自動的に更新し、その逆も同様です。これは、Aurelia.ioの観測可能性システムを通じて達成され、データへの変更を追跡し、ビューの関連部分を更新します。これにより、UIが常にデータの現在の状態を反映する動的でインタラクティブなアプリケーションを簡単に作成できます。 .ioは、他のJavaScriptライブラリおよびフレームワークと互換性があるように設計されています。モジュラーアーキテクチャを使用します。つまり、使用するフレームワークのどの部分を選択して選択できます。これにより、Aurelia.ioを既存のプロジェクトに簡単に統合したり、Aurelia.ioと並んで他のライブラリやフレームワークを使用したりすることができます。複雑なナビゲーションシナリオを可能にする強力なルーターが含まれています。ルーターは、他の機能の中でも、ネストされたルート、オプションのパラメーター、および動的ルートをサポートしています。これにより、Aurelia.ioを使用して単一ページのアプリケーションを簡単に作成できます。ここでは、ユーザーはページを更新せずに異なるビュー間でナビゲートできます。

aurelia.io?

aurelia.ioの学習曲線は、簡単に学習できるように設計されています。 JavaScriptとHTMLに精通している場合は、Aurelia.ioをすばやく拾うことができるはずです。フレームワークのドキュメントは包括的であり、開始するのに役立つ多くの例が含まれています。信頼性とパフォーマンス。ユニットテスト、統合テスト、エンドツーエンドテストの組み合わせを使用して、フレームワークのすべての側面をカバーします。パフォーマンスの観点から、Aurelia.ioは、最小限のフットプリントと最適化されたレンダリングを備えた高速で効率的になるように設計されています。 IOには、フレームワークに貢献し、お互いにサポートを提供する活気に満ちた活発な開発者のコ​​ミュニティがあります。コミュニティフォーラム、ギターチャットルーム、スタックオーバーフロータグなど、多くのリソースが利用可能です。さらに、Aurelia.ioチームは専門的なサポートとトレーニングサービスを提供しています。

以上がaurelia.ioの方法を拡張しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

JavaScriptの進化:現在の傾向と将来の見通し JavaScriptの進化:現在の傾向と将来の見通し Apr 10, 2025 am 09:33 AM

JavaScriptの最新トレンドには、TypeScriptの台頭、最新のフレームワークとライブラリの人気、WebAssemblyの適用が含まれます。将来の見通しは、より強力なタイプシステム、サーバー側のJavaScriptの開発、人工知能と機械学習の拡大、およびIoTおよびEDGEコンピューティングの可能性をカバーしています。

JavaScriptエンジン:実装の比較 JavaScriptエンジン:実装の比較 Apr 13, 2025 am 12:05 AM

さまざまなJavaScriptエンジンは、各エンジンの実装原則と最適化戦略が異なるため、JavaScriptコードを解析および実行するときに異なる効果をもたらします。 1。語彙分析:ソースコードを語彙ユニットに変換します。 2。文法分析:抽象的な構文ツリーを生成します。 3。最適化とコンパイル:JITコンパイラを介してマシンコードを生成します。 4。実行:マシンコードを実行します。 V8エンジンはインスタントコンピレーションと非表示クラスを通じて最適化され、Spidermonkeyはタイプ推論システムを使用して、同じコードで異なるパフォーマンスパフォーマンスをもたらします。

Python vs. JavaScript:学習曲線と使いやすさ Python vs. JavaScript:学習曲線と使いやすさ Apr 16, 2025 am 12:12 AM

Pythonは、スムーズな学習曲線と簡潔な構文を備えた初心者により適しています。 JavaScriptは、急な学習曲線と柔軟な構文を備えたフロントエンド開発に適しています。 1。Python構文は直感的で、データサイエンスやバックエンド開発に適しています。 2。JavaScriptは柔軟で、フロントエンドおよびサーバー側のプログラミングで広く使用されています。

JavaScript:Web言語の汎用性の調査 JavaScript:Web言語の汎用性の調査 Apr 11, 2025 am 12:01 AM

JavaScriptは、現代のWeb開発のコア言語であり、その多様性と柔軟性に広く使用されています。 1)フロントエンド開発:DOM操作と最新のフレームワーク(React、Vue.JS、Angularなど)を通じて、動的なWebページとシングルページアプリケーションを構築します。 2)サーバー側の開発:node.jsは、非ブロッキングI/Oモデルを使用して、高い並行性とリアルタイムアプリケーションを処理します。 3)モバイルおよびデスクトップアプリケーション開発:クロスプラットフォーム開発は、反応および電子を通じて実現され、開発効率を向上させます。

next.jsを使用してマルチテナントSaaSアプリケーションを構築する方法(フロントエンド統合) next.jsを使用してマルチテナントSaaSアプリケーションを構築する方法(フロントエンド統合) Apr 11, 2025 am 08:22 AM

この記事では、許可によって保護されたバックエンドとのフロントエンド統合を示し、next.jsを使用して機能的なedtech SaaSアプリケーションを構築します。 FrontEndはユーザーのアクセス許可を取得してUIの可視性を制御し、APIリクエストがロールベースに付着することを保証します

next.jsを使用してマルチテナントSaaSアプリケーションを構築する(バックエンド統合) next.jsを使用してマルチテナントSaaSアプリケーションを構築する(バックエンド統合) Apr 11, 2025 am 08:23 AM

私はあなたの日常的な技術ツールを使用して機能的なマルチテナントSaaSアプリケーション(EDTECHアプリ)を作成しましたが、あなたは同じことをすることができます。 まず、マルチテナントSaaSアプリケーションとは何ですか? マルチテナントSaaSアプリケーションを使用すると、Singの複数の顧客にサービスを提供できます

C/CからJavaScriptへ:すべてがどのように機能するか C/CからJavaScriptへ:すべてがどのように機能するか Apr 14, 2025 am 12:05 AM

C/CからJavaScriptへのシフトには、動的なタイピング、ゴミ収集、非同期プログラミングへの適応が必要です。 1)C/Cは、手動メモリ管理を必要とする静的に型付けられた言語であり、JavaScriptは動的に型付けされ、ごみ収集が自動的に処理されます。 2)C/Cはマシンコードにコンパイルする必要がありますが、JavaScriptは解釈言語です。 3)JavaScriptは、閉鎖、プロトタイプチェーン、約束などの概念を導入します。これにより、柔軟性と非同期プログラミング機能が向上します。

JavaScriptとWeb:コア機能とユースケース JavaScriptとWeb:コア機能とユースケース Apr 18, 2025 am 12:19 AM

Web開発におけるJavaScriptの主な用途には、クライアントの相互作用、フォーム検証、非同期通信が含まれます。 1)DOM操作による動的なコンテンツの更新とユーザーインタラクション。 2)ユーザーエクスペリエンスを改善するためにデータを提出する前に、クライアントの検証が実行されます。 3)サーバーとのリフレッシュレス通信は、AJAXテクノロジーを通じて達成されます。

See all articles