2

私はAngularを見てきました.HTML属性を使用して、次のようにイベントをモデルにバインドします。

<form ng-submit="addTodo()">

これを行うのは悪い習慣とは見なされませんか? onclick などのインライン JavaScript を使用することは、非常に悪いことだと考えられています。

関心の分離が気になります。このアプローチはそれに反していませんか?JavaScript で id または class 属性を使用し、それらに基づいてイベントを DOM 要素にバインドする方がクリーンではありませんか? それはそれほど面倒ではないようです。

また、HTML のセマンティック性を低下させる ng 属性についても懸念しています。HTML は、プレゼンテーション情報のみを使用して、可能な限りセマンティックのままにする必要があります。

私は現在、作業中の Web アプリに Angular を使用するかどうかを調査していますが、これは私の懸念事項の 1 つです。現時点では、RequireJS のようなものでバニラ JS を使用することに傾倒しています。

4

2 に答える 2

1

インラインバインディングの練習

新しい JavaScript フレームワークは、マークアップで行われるバインディングを再検討しているようです。長い間、これは悪い習慣と見なされていましたが、今でもほとんどそうです。意見は異なります。支持者は、このようなマークアップでのバインディングはより明示的であると主張しています。バインディングを作成するために変更される可能性のある追加のクラスを使用する必要はありません。

このようなインライン バインディングを使用する場合は、非常にシンプルにする必要があります。つまり、メソッドをインラインで定義するのではなく、バインド内の単一のメソッドのみを参照する必要があります。

ng属性

Angularには、data-ng-*有効/意味的に正しいものにする代わりに使用できるオプションがあると思います。

于 2013-09-19T17:43:09.313 に答える