Angular JS와 눈에 띄지 않는 자바스크립트
MVC와 Angular를 막 배우고 있는데 다음과 같은 코드가 궁금합니다. (angularjs.org 에서 taken)
<html ng-app>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.6/angular.min.js"></script>
<script src="Scripts/Todo.js" type="text/javascript"></script>
<link rel="stylesheet" href="todo.css">
</head>
<body>
<h2>
Todo</h2>
<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="">
<input class="btn-primary" type="submit" value="add">
</form>
</div>
</body>
Todo.js
function TodoCtrl($scope) {
$scope.todos = [
{ text: 'learn angular', done: true },
{ text: 'build an angular app', done: false}];
$scope.addTodo = function () {
$scope.todos.push({ text: $scope.todoText, done: false });
$scope.todoText = '';
};
$scope.remaining = function () {
var count = 0;
angular.forEach($scope.todos, function (todo) {
count += todo.done ? 0 : 1;
});
return count;
};
$scope.archive = function () {
var oldTodos = $scope.todos;
$scope.todos = [];
angular.forEach(oldTodos, function (todo) {
if (!todo.done) $scope.todos.push(todo);
});
};
}
만약 눈에 띄지 않는 자바스크립트의 신조가 우리가 프레젠테이션으로부터 행동을 분리할 필요가 있다고 말한다면, 왜 angular가 다음과 같은 코드를 가지는 것이 괜찮고 최선의 방법입니다.ng-click=archive()
?
눈에 띄지 않는 자바스크립트는 예전처럼 중요하지 않은 오래된 개념입니다.위키피디아에서.
"방해하지 않는 자바스크립트" 지지자들은 마크업의 목적은 문서의 구조를 설명하는 것이지, 문서의 프로그램적인 행동을 설명하는 것이 아니며, 이 둘을 결합하는 것은 사이트의 유지보수성에 부정적인 영향을 미친다고 주장합니다.
개발팀 외에는 아무도 당신의 DOM 코드를 보지 않기 때문에 사용성은 중요하지 않습니다.인라인 이벤트 핸들러는 각도 철학을 수용하면 유지보수가 더 쉬워집니다.그러나 HTML을 더 깨끗하게 유지하기 위해 항상 $watch를 사용할 수 있습니다.
Angular 웹사이트가 가장 잘 표현하는 것처럼,
AngularJS를 사용하면 응용 프로그램의 HTML 어휘를 확장할 수 있습니다.결과적인 환경은 표현력이 뛰어나고 가독성이 뛰어나며 개발이 빠릅니다.
검색 엔진들은 당신의 사이트를 색인하는 데 약간 어려움을 겪을 수 있지만, 우리는 그것을 해결하기 위해 RSS, 사이트맵, 그리고 AJAX 크롤링을 가지고 있습니다.
스마트폰이 아닌 시장을 위해 앱을 구축하지 않는 한 우아한 열화는 더 이상 관련이 없습니다.거의 모든 사용자가 현대 자바스크립트를 지원하는 브라우저에 있습니다.
접근성과 각도는 충돌하지 않습니다.꼭 ARIA 태그와 적절한 마크업을 사용하세요.Angular는 테스트 가능한 코드를 더 쉽게 작성할 수 있도록 해주며 예외 처리 기능을 내장되어 있습니다.
기능으로 전역 범위를 오염시키는 경우 우려 분리가 문제가 됩니다.Angular는 다른 파일이나 코드에 영향을 주지 않고 자바스크립트 코드를 별도로 유지하는 것을 더 쉽게 해줍니다.
나는 각을 배우는 것과 같은 결론에 도달했습니다.저는 데이터에 대해 html 속성을 신경쓰지 않지만, 우리는 오랫동안 html 태그에서 on click이나 다른 이벤트를 하지 않으려고 노력해 왔습니다.평가된 표현들은 저를 더욱 더 불쾌하게 만듭니다.ng-model-setter="set ($value)"와 같이 입력할 수 있습니다.마크업이 아닌 자바스크립트로 된 느낌입니다.
언급URL : https://stackoverflow.com/questions/20906804/angular-js-and-unobtrusive-javascript
'programing' 카테고리의 다른 글
PHP 코드의 속도가 느려지는 위치를 확인합니다(성능 문제). (0) | 2023.10.10 |
---|---|
현재 분기의 단일 파일을 메인 분기의 동일한 파일로 덮어쓰시겠습니까? (0) | 2023.10.10 |
jQuery에서 목록 요소 내용 배열 가져오기 (0) | 2023.10.10 |
Wordpress pods io - 사용자 지정 게시물 유형에 대한 필드 정보 가져오기 위한 Rest API (0) | 2023.10.10 |
Chocolatey 설치 후 새 세션을 열지 않고 PowerShell 세션 환경을 새로 고치는 방법 (0) | 2023.10.10 |