2012-09-24 2 views
0

글쎄, 난 기본적으로 녹아웃을 탐구하고 제공하는 다른 기능을 이해하고 있습니다. 템플릿과 두 가지 방법으로 바인딩하는 것이 좋았습니다. 이제는 모듈을 위해 우리 회사에서 최근에 구현되었지만 이벤트가 어떻게 작동되고 얼마나 아름답는지에 대해 정말 큰 이야기가 있습니다.녹아웃은 독점적으로 이벤트 구동입니까?

글쎄, 그들이 매우 사건 주도적이라고 주장 할 때, 그들은 JQuery에 반대한다. 그들의 주장은 JQuery에서 누구나 들어 와서 어디서나 버튼의 onClick을 바인딩 할 수 있으며 같은 장소에있는 모든 컨트롤에 대한 모든 이벤트를 유지하기위한 표준이 설정되어 있지 않고 때로는 코드를 관리하기가 힘들 때가끔 엉망이되는 경우가 있습니다.

내 인수가있을 수 있습니다. Jquery는이를 달성하기 위해 코드를 명시 적으로 관리해야하지만 이벤트 기반 프로그래밍은 독점적 인 것이 아닙니다. asp.net 웹 페이지는 몇 년 동안 코드가 뒤떨어져 있으며 고전 자바 스크립트를 사용하여 고전적인 ASP와 OnClick 이벤트를 함께 사용하는 방법은 무엇입니까?

여기에 누락 된 자료가 있습니까?

답변

2

이벤트가 새롭지는 않습니다. 버튼 컨트롤이 시작된 이래로, 어떤 방식 으로든 거기에 있었어야합니다. 그러나 차이점은 이벤트가 사용되는 방식과 유지 관리가 가능한 방식입니다.

jQuery와 Knockout에서 나는 이벤트의 문제는 아니라고 생각하지만 디자인 패턴의 문제라고 생각합니다. jQuery는 이벤트를 사용하지만 (특정 인스턴스에서는 코드가 더 많음) 사용되는 특정 패턴을 지정하지 않습니다. 반면 KnockoutJS는 양방향 데이터 바인딩을 사용하여 MVVM 패턴을 가져와 복잡한 응용 프로그램을 작성하는 데 필요한 구조를 제공합니다.

제 생각에는 패턴을 사용하면 확실히 코드 유지 관리가 향상 될 것입니다. 일반 jQuery와 함께 MVVM, MVC 또는 MVP도 구현할 수 있습니다. 그러나 jQuery가 특별히 작동하도록 만들어지지 않았기 때문에 이러한 노력이 조금 더 필요합니다. 예를 들어 BackboneJS를 사용하면 MVC 패턴에 코드를 구성 할 수 있으며 이벤트 바인딩을 위해 jQuery를 사용할 수 있습니다.

각 라이브러리에는 사용 사례에 따라 고유 한 장소가 있습니다. 간단한 편도 이벤트 처리의 경우, 녹아웃 뷰 모델이 필요하지 않지만 jQuery로 깨끗하게 처리하면됩니다. 그러나 높은 양방향 메시징을 사용하는 복잡한 UI의 경우 녹아웃은 적은 양의 코드로 작업을 수행합니다.

다른 시나리오들도 ... 녹아웃은 사용자 정의 속성으로 HTML을 변조해야합니다. HTML을 변경할 수없는 경우 어떻게합니까? jQuery는 더 나은 유스 케이스를 가지고있다. 사용 사례별로 jQuery, Knockout, Backbone 또는 BoilerplateJS를 사용하십시오. 누군가가 멋지다고 생각하기 때문에뿐만 아니라 :)

관련 문제