Возможно, это нехорошее место, чтобы спросить об этом, но я постараюсь сделать его максимально объективным и ответственным.
Я играю с 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. Тот, который я нахожу потенциально susupect, таков: <a href="" ng-click="archive()">archive</a>
.
Когда Джеффри Зельдман написал "Разработка веб-стандартов" , стало лучше всего разделить разметку (HTML), презентацию (CSS) и взаимодействие (JS) в разные файлы для удобства обслуживания.
Мой вопрос в том, как Angular не нарушает это? Я действительно наслаждаюсь этим и считаю его достаточно мощным, но в чем разница между привязкой события click к элементу a
, подобному этому в разметке, и написанием этого остатка кода, предшествующего веб-стандартам:
<a href='#' onClick='showAlert()'>Click here</a>
<script>
var showAlert = function(){
alert('hey');
}
</script>
Полезные ответы могут относиться к документации в дополнение к личному опыту использования фреймворка.