-3

私自身の経験では、プログラムによるコーディングが好きです。ここでいくつかの利点を挙げると:

  1. パフォーマンスの向上: 解析する必要はありません。
  2. html と javascript の切り替えなし: html なし、コード内のすべて (CSS を使用してレイアウトを制御します)。
  3. コンテンツを動的に変更するのは簡単です。
  4. 読みやすく、維持しやすい。

しかし、ここでは宣言型コーディングを使用して多くのユーザーをつなぎとめています。私の質問は: 宣言型コーディングを使用する利点は何ですか? 道場グルのお気に入りはどれ?

4

1 に答える 1

4

フランシスコが言ったように、コードを簡単に分離できます。つまり、JavaScript コードですべてのウィジェットをインスタンス化すると、JavaScript はかなり大きくなり、HTML は通常小さくなります (ウィジェットを配置するために使用する「コンテナー」ノードのみが含まれます)。

パフォーマンスの向上: ページ全体を解析する必要があるため、実際にパフォーマンスが低下することに同意する必要がありますが、無効parseOnLoadにして実際に必要な DOM ノードのみを解析することで最適化できます。私が働いている会社では、すべての Dojo ウィジェット マークアップを<div>特定のクラス名を持つ 内に配置することで、これを実現しました。次に、JavaScript コードで次のようにします。

query(".containsDojo").forEach(node) {
    parser.parse(node);
});

HTML と JS の間の切り替えなし: HTML と JS の間の切り替えにより、コードを理解しやすくなり、コンテキストを把握しやすくなります。たとえば、C.html というページに配置されたウィジェット B によってウィジェット A を変更する必要があるとします。次に、ウィジェット A がどのページにあり、どこにあるか (上、下、...) がわかっているので、ウィジェット A を探すのは簡単です。すべてを JavaScript ファイルに入れると、ウィジェットがどのコンテキストで初期化されるかがわからないため、コードの管理が難しくなります。ウィジェットはコード内の任意の場所で初期化できるため、JavaScript コード全体に目を通す必要があります。

コンテンツを動的に変更するのが簡単: 動的なコンテンツが必要な場合は、通常、何らかのウィジェットを自分で作成し、そこに JavaScript ロジックを配置して、「メイン」の JavaScript と HTML コードがきれいに見えるようにします。dijit/registryモジュールを使用して、コンテンツ内の特定のものをいつでも変更できます。

読みやすく、維持しやすい: HTML と JavaScript の切り替えについて前の段落で述べたことと同様に、私はそれにはまったく同意しません。dijit/form/TextBoxつまり、通常の HTML 入力フィールドとの違いは何ですか? どちらもUIアイテムです。それでも、あなたの考えに従うなら、TextBox を JavaScript コードのどこかに置き、通常の HTML 入力フィールドを HTML 内に置きます。HTML はコンテキストを提供するだけでなく、すべての UI 要素を一元化します。

于 2013-10-02T08:10:09.537 に答える