programing

ember.display 및 서버

javaba 2023. 2. 11. 17:34
반응형

ember.display 및 서버

저는 Ember.js를 보고 있으며 사용법을 이해하기 위해 문서를 읽고 있습니다.딱 한 가지만 빼면 알 것 같아요.MVC 패턴의 제 생각에는 모델은 응용 프로그램의 데이터 저장소입니다.Ember.js의 클라이언트 측 데이터에 대해 어떻게 동작하는지 알 수 있습니다.클라이언트의 데이터가 변경되었을 경우 변경 내용이 서버에서 업데이트되도록 데이터를 서버에 다시 연결하는 방법을 알 수 없습니다.그리고 역도 성립.웹 어플리케이션에서 Ajax/J를 만들고 있습니다.SON이 서버에 전화를 걸었습니다.Ember.js를 사용하는 방법을 알 수 없습니다.

GitHub의 emberjs를 조금 파헤친 결과, 이것을 발견했습니다.

Ember Data는 지속성 계층(JSON API 등)에서 모델을 로드하고 해당 모델을 업데이트한 후 변경 사항을 저장하기 위한 라이브러리입니다.ActiveRecord와 같은 서버 측 ORM에서 볼 수 있는 많은 기능을 제공하지만 브라우저의 JavaScript 고유 환경을 위해 특별히 설계되었습니다.

Ember.js Live Collections도 읽을 것을 권합니다.필요한 것은 서버측과 동기화하는 방법을 알고 있는 모델 컬렉션을 갖추는 것입니다.가능한 코드는 다음과 같습니다.

// our model
App.Person = Ember.Object.extend();

App.people = Ember.ArrayController.create({
  content: [],
  save: function () {
    // assuming you are using jQuery, but could be other AJAX/DOM framework
    $.post({
      url: "/people",
      data: JSON.stringify( this.toArray() ),
      success: function ( data ) {
        // your data should already be rendered with latest changes
        // however, you might want to change status from something to "saved" etc.
      }
    });
  }
});

후, 「럼럼 you you you you」라고 전화한다.App.people.save()필요할 때.

또한 Ember와의 서버-클라이언트 통신에 대해 자세히 설명하고 Emberjs/데이터에 대해서도 언급하고 있는 이 문서 "Advices on & Instruction in the Use Of Ember.js"를 참조하십시오.

주의: Emberjs Data Library는 아직 가동 준비가 되지 않았으므로 주의하여 사용해야 합니다.

에서는 Ember.js에 입니다.Ember오브젝트에는 기본 서버측 데이터베이스의 추가 추상화가 포함됩니다(사용하는 경우).그러면 응용 프로그램의 컨트롤러 부분에는 모델을 업데이트하기 위해 필요할 때 호출되는 데이터를 검색하고 전송할 수 있는 메서드가 있어야 합니다(Ajax 사용).이는 클라이언트 측에서 사용자가 애플리케이션(키 입력, 마우스 이동 등)에 제공하는 모든 입력에 신속하게 응답할 수 있는 모델을 갖추고 있으며, 서버 측 데이터베이스에 대해 비교적 비용이 많이 드는 쿼리를 수행할 시기를 선택적으로 선택할 수 있기 때문에 좋습니다.이렇게 하면 외부 서버에 대한 데이터 요청 지연으로 인해 앱 성능이 더 이상 저하되지 않으며, 경우에 따라 네이티브 앱과 응답성이 비슷한 애플리케이션을 만들 수 있습니다.

이렇게 Ember.js가 짝이 되는 걸 상상하는 게 좋아

  • 뷰와 템플릿은 (분명히) 상관관계가 있으며 뷰 클래스를 조정하여 템플릿을 제어합니다(classNames 등).
  • 라우터와 루트는 MVC의 컨트롤러와 약간 비슷합니다.이들은 요구를 올바른 엔드포인트로 라우팅할 책임이 있습니다.
  • 컨트롤러와 모델은 모델 중심이며, 하나의 모델(모델)은 컨트롤러가 프록시(또는 좀 더 전문적인 경우에는 장식자)처럼 동작하는 동안 애플리케이션에서 처리하는 데이터를 기술합니다.템플릿은 예를 들어 컨트롤러에 접속됩니다.

기본적으로는 컨트롤러(싱글 또는 어레이)에 모델을 로드하여 해당 모델에서 작동하는 프로세스(코어/데이터에 있는 모델에 닿지 않는 것)를 컨트롤러에서 쉽게 모델링할 수 있습니다.블로그 어플리케이션의 예에서는 모델의 Post에 대해 설명하고 컨트롤러에 대해 이와 같은 내용을 추가합니다.

App.PostController = Ember.ObjectController.extend({
  content: null,

  // initial value
  isExpanded: false,

  expand: function() {
    this.set('isExpanded', true)
  },

  contract: function() {
    this.set('isExpanded', false)
  }
});

이제 컨트롤러를 통해 프런트 엔드 씽킹 측면에서 모델의 표현과 상호작용할 수 있습니다.게시물을 확장하거나 확장하지 않아도 모형이 변경되지 않고 데이터만 변경됩니다.

서버로부터의 데이터 재로드에 관해서, 2개의 회답이 있습니다.

  1. 기사는 연결(및 간단한 폴링)을 이해하는 데 매우 도움이 되었습니다.
  2. Rails를 사용하시는 분은 곧 출시될 Rails 4 Live를 이용하실 수 있습니다.이 게시물과 데모를 참조해 주십시오.

좀 오래된 질문인 건 알지만 ember.js의 최고 등급 페이지에 있기 때문에 조금 더 추가하려고 합니다.

최근 RESTful 데이터 바인딩을 처리하기 위해 엠버 모델을 사용하고 있습니다.벨과 휘파람은 적지만, 제 욕구로는 꽤 괜찮은 편입니다.기본적으로 모델 기능을 확장하여 표준 REST 인터페이스를 통해 JSON 객체를 푸시하는 서버와 적절히 통합할 수 있습니다.

언급URL : https://stackoverflow.com/questions/8948213/ember-js-and-the-server

반응형