programing

Angular를 사용한 백본모델 사용JS

css3 2023. 3. 31. 22:32

Angular를 사용한 백본모델 사용JS

최근 Backbone.js와 Angular의 차이점과 유사점을 고민하고 있습니다.JS.

Backbone에서 가장 편리한 것은 Backbone-Models와 Backbone-Collections입니다.urlRoot를 설정하고 Ajax를 통한 백엔드 서버와의 통신을 기본적으로 실행하기만 하면 됩니다.

Angular에서 백본 모델과 컬렉션만 사용할 수 있지 않을까요?JS 어플리케이션?따라서 Angular를 통해 쌍방향 데이터 바인딩을 실현합니다.백본 모델 및 컬렉션을 통해 서버 측(또는 기타 스토리지 옵션)에 편리하게 액세스할 수 있습니다.

빠른 인터넷 검색에서도 이 사용 시나리오를 제안하는 사이트는 나타나지 않았습니다.모든 리소스는 어느 하나의 프레임워크 또는 다른 하나의 프레임워크를 사용하는 것에 대해 설명합니다.

Backbone-Models 또는 Collections를 AngularJs와 함께 사용한 경험이 있습니까?서로 잘 보완하지 않을까요?제가 뭘 놓쳤나요?

예를 들어 위의 작업 바인딩...http://jsbin.com/ivumuz/2/edit

AngularJs를 사용하는 Backbone Model을 사용하는 방법을 보여줍니다. 단, 설정기/게터 연결이 더 좋습니다.

비슷한 아이디어를 생각해 내고 이 아이디어를 생각해 냈다.ever model 속성의 getter와 setter만 추가합니다.

Backbone.ngModel = Backbone.Model.extend({
        initialize: function (opt) {
         _.each(opt, function (value, key) {
             Object.defineProperty(this, key, {
                 get: function () {
                     return this.get(key)
                  },
                 set: function (value) {
                     this.set(key, value);
                 },
                 enumerable: true,
                 configurable: true
             });
         }, this);
     }
 });

http://jsfiddle.net/HszLj/ 를 참조해 주세요.

이런 거 해본 사람 있나 해서요.최근 / 첫 번째 앵글 앱에서 Angular는 모델이나 컬렉션이 상당히 부족하다는 것을 알게 되었습니다(물론 뭔가 빠뜨리고 있지 않은 한).$http 또는 $resource를 사용하여 서버에서 데이터를 가져올 수 있지만 모델 또는 컬렉션에 사용자 지정 메서드/속성을 추가하려면 어떻게 해야 합니다.예를 들어, 차량 컬렉션이 있고 총 비용을 계산하려고 합니다.다음과 같은 경우:

Backbone Collection을 사용하면 구현이 매우 쉬워집니다.

carCollection.getTotalCost()

그러나 Angular에서는 다음과 같이 커스텀 메서드를 서비스로 랩하고 컬렉션을 전달해야 합니다.

carCollectionService.getTotalCost(carCollection)

나는 백본 접근법이 더 깔끔하게 읽혀지기 때문에 좋아한다.단, 양방향 데이터 바인딩을 얻는 것은 어렵습니다.이 JSBin의 예를 확인해 주세요.

http://jsbin.com/ovowav/1/edit

번호를 편집하면 car.cost 속성이 model.set()을 통해 설정되지 않기 때문에 collection.totalCost가 갱신되지 않습니다.

대신 기본적으로 모델 및 컬렉션에 내 컨스트럭터/"클래스"를 사용하고 Backbone API의 서브셋을 Backbone에서 복사했습니다.모델과 백본Angular의 데이터 바인딩과 함께 작동하도록 사용자 지정 생성자/클래스를 수집하고 수정했습니다.

리앵귤러를 한 번 보세요.

어디에서도 실시하지 않고 있습니다만, 며칠전에 강연하는 것을 보았습니다.그것은 같은 문제를 비스듬히 해결하는 것 같다.

비디오: http://www.youtube.com/watch?v=eGrpnt2VQ3s

확실히 유효한 질문입니다.

$리소스의 현재 구현에는 많은 제약이 있으며, 그 중에서도 Backbone과 같은 내부 수집 관리가 없습니다.수집.($리소스가 아닌 $http를 사용하여) 나만의 컬렉션/리소스 관리 레이어를 비스듬히 작성했기 때문에 이제 backbone 컬렉션 및 모델을 보일러 플레이트 내부로 대체할 수 있는지 확인 중입니다.

아직까지는 가져오기 및 추가 부분은 완벽하고 코드를 저장하지만, 이러한 백본 모델(또는 그 안의 속성)을 편집용 입력에 대한 ng-model에 바인딩하는 것은 아직 작동하지 않습니다.

@ericclemmons(github)도 같은 일을 해서 두 사람이 잘 결혼하도록 했습니다.그에게 물어보고, 테스트를 받고, 결론을 투고합니다.

나도 궁금해서...

사용 예를 다음에 나타냅니다.

salesforce mobile sdk(salesforce mobile sdk)에는 smartstore/smartsync라는 기능이 있습니다.이 기능은 백본모델/컬렉션을 상정하고 있으며 오프라인 접근을 위해 로컬스토리지에 저장됩니다.

그리고 당신이 맞췄습니다. 우리는 나머지 하이브리드 앱에 angularjs를 사용하고 싶습니다.

유효한 질문입니다.

- Sree(양자)

각을 봐야지해석 기능이 있는 JS 보일러 플레이트입니다.해석은 backbone과 비슷하지만 backbone과 같지는 않습니다.여기서부터 앵귤러에 대한 내 생각을 시작한다.JS 백본JS 프로젝트

언급URL : https://stackoverflow.com/questions/16895758/using-backbone-models-with-angularjs