ここで質問するのは適切ではないかもしれませんが、できるだけ客観的で回答しやすいように努めます。
私は Angular.js で遊んでいて、とても気に入っていますが、その哲学について質問があります。これは、コントローラーの Angular サイトからのコードのスニペットです。
<div ng-controller="TodoCtrl">
<span>{{remaining()}} of {{todos.length}} remaining</span>
[ <a href="" ng-click="archive()">archive</a> ]
<ul class="unstyled">
<li ng-repeat="todo in todos">
<input type="checkbox" ng-model="todo.done">
<span class="done-{{todo.done}}">{{todo.text}}</span>
</li>
</ul>
<form ng-submit="addTodo()">
<input type="text" ng-model="todoText" size="30"
placeholder="add new todo here">
<input class="btn-primary" type="submit" value="add">
</form>
</div>
これは基本的HTML
に Angular ディレクティブが散りばめられたものです<a href="" ng-click="archive()">archive</a>
。
Jeffrey Zeldman がDesigning With Web Standardsを書いたとき、保守性のためにマークアップ (HTML)、プレゼンテーション (CSS)、および対話 (JS) を別々のファイルに分けることがベスト プラクティスになりました。
私の質問は、Angular がこれに違反しないのはなぜですか? 私は実際にそれを本当に楽しんでおり、非常に強力だと感じていますが、クリックイベントをa
マークアップのような要素にバインドすることと、このウェブ標準以前のコードの痕跡を書くことの違いは何ですか:
<a href='#' onClick='showAlert()'>Click here</a>
<script>
var showAlert = function(){
alert('hey');
}
</script>
役立つ回答は、フレームワークを使用した個人的な経験に加えて、ドキュメントを参照する場合があります。