컨트롤러의 작업을 기반으로 Ember에서 뷰를 변경하는 적절한 방법은 무엇입니까?

Nathan Lutterman

현재 사용자의 선택을 추적 한 다음 해당 선택에 따라 페이지를 변경하는 것이 목적인 템플릿에 작업이 설정되어 있습니다.

이것은 내 router:

this.resource('simpleSearch', function() {
    this.resource('simpleSearchOption', {path: ':simpleSearchOption_id'});

조치는 다음과 같습니다.

<div {{action "select" this}} class="questiontile">

그리고 여기에 컨트롤러가 있습니다.

App.SimpleSearchOptionController = Ember.ObjectController.extend({

    needs: ["simpleSearch"],
    simpleSearch: Ember.computed.alias("controllers.simpleSearch"),

    actions: {
        select: function(optionId) {
            var nextOptionId = parseInt(this.get("id")) + 1;
            var numOfOptions = this.get('simpleSearch').get('model').length;
            if(nextOptionId < numOfOptions) {
                console.log('going to next option');

                  /** What do I do here?
                   *  This is my current implementation, 
                   *  and it works, but is it proper?   
                   */
                  this.transitionToRoute('/simpleSearch/' + nextOptionId);

            }
        }
    }
});

다음 페이지는 기본적으로 상위 경로 / 컨트롤러 / 뷰의 모델 인 객체 배열의 다음 인덱스입니다.

현재 내가하는 방법은 효과가 있지만 적절합니까? 'Ember 관용적'인가요?

Deewendra Shrestha

이전 게시물에 대해 죄송합니다. 실수로 삭제했습니다! transitionToRoute는 두 개의 인수를 취합니다. 첫 번째는 자원 / 경로 이름이고 두 번째는 모델입니다. 그래서 이것은 작동합니다

actions: {
    select: function(optionId) {
        var nextOptionId = parseInt(this.get("id")) + 1;
        this.store.find('simpleSearch', nextOptionId).then(function(model){
              this.transitionToRoute('simpleSearchOption', model); 
        });
        //OR MAYBE YOU COULD GET IT FROM THE PARENT CONTROLLER??
      /*
       MAYBE
       this.get('simpleSearch.content').forEach(function(model){
             if(model.get('id') === nextOptionId){ do transition}
              else{ alert some msg!! }
       })
      */
    }
 }

여기에 더 많은 정보 : http://emberjs.com/api/classes/Ember.Controller.html#method_transitionToRoute

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

마스터에서 디테일 뷰 컨트롤러로 데이터를 전달하는 적절한 방법은 무엇입니까?

분류에서Dev

여러 저장된 procs (model)를 비동기 적으로 호출하고 컨트롤러의 결과 집합을 MVC의 뷰에서 변수에 할당하는 방법은 무엇입니까?

분류에서Dev

뷰에서 zend의 다른 지정된 컨트롤러의 작업으로 데이터를 보내는 방법은 무엇입니까?

분류에서Dev

드롭 다운 목록에서 선택한 항목 ID를 컨트롤러의 작업으로 전달하는 방법은 무엇입니까?

분류에서Dev

Swift에서 한 뷰 컨트롤러에서 다른 뷰 컨트롤러로 데이터를 이동하는 방법은 무엇입니까?

분류에서Dev

한 뷰 컨트롤러에서 다른 뷰 컨트롤러로 데이터를 전달하는 방법은 무엇입니까?

분류에서Dev

Symfony2 컨트롤러에서 파일의 절대 경로를 얻는 방법은 무엇입니까?

분류에서Dev

Swift를 사용하여 다른 뷰 컨트롤러에서 한 뷰 컨트롤러의 IBoutlet에 액세스하는 방법은 무엇입니까?

분류에서Dev

SwiftUI의 버튼 동작에서 뷰 컨트롤러를 탐색하는 방법은 무엇입니까?

분류에서Dev

보기의 목록에서 컨트롤러 및 작업을 표시하는 방법은 무엇입니까?

분류에서Dev

MVC의 하나의 컨트롤러에서 다중보기 버튼 (제출)에 대한 작업을 만드는 방법은 무엇입니까?

분류에서Dev

뷰 컨트롤러를 다시 시작한 후에도 progressView의 진행 상황을 표시하는 방법은 무엇입니까?

분류에서Dev

한 뷰 컨트롤러에서 다른 뷰 컨트롤러로 신속하게 이동할 경우 배열에 값을 동적으로 추가하는 방법은 무엇입니까?

분류에서Dev

컨트롤러의 각 작업에 대해 CSS 파일을 동적으로로드하는 방법은 무엇입니까?

분류에서Dev

버튼 동작을 사용하여 한 뷰 컨트롤러에서 다른 뷰 컨트롤러로 데이터를 전달하는 방법은 무엇입니까?

분류에서Dev

적절한 업그레이드의 영향을받는 서비스를 수동으로 다시 시작하는 방법은 무엇입니까?

분류에서Dev

CakePHP 3의 컨트롤러에서 뷰 블록 콘텐츠를 변경하는 방법은 무엇입니까?

분류에서Dev

CakePHP 3의 컨트롤러에서 뷰 블록 콘텐츠를 변경하는 방법은 무엇입니까?

분류에서Dev

iOS의 상위 뷰 컨트롤러에 동일한 하위 뷰 컨트롤러를 추가하는 방법은 무엇입니까?

분류에서Dev

magento의 동일한 컨트롤러에서 다른 기능을 사용하는 방법은 무엇입니까?

분류에서Dev

컨트롤러 작업에서 동적 매개 변수 양을 처리하는 방법은 무엇입니까?

분류에서Dev

컨트롤러 작업에 대한 액세스를 제어하기 위해 RBAC 사용 규칙을 추가하는 방법은 무엇입니까?

분류에서Dev

iOS에서 UIPage 뷰 컨트롤러를 자동으로 스크롤하는 방법은 무엇입니까?

분류에서Dev

JavaFX : 동일한 fxml 파일에서 컨트롤러를 동적으로 변경하는 방법은 무엇입니까?

분류에서Dev

Laravel의 웹 컨트롤러에 경로 매개 변수를 전달하는 방법은 무엇입니까?

분류에서Dev

Rails에서 업데이트를 위해 뷰에서 컨트롤러로 빈 텍스트 배열을 전달하는 방법은 무엇입니까?

분류에서Dev

기본 뷰에서 자식 뷰 컨트롤러로 별도의 클래스에서 뷰를 표시하는 방법은 무엇입니까?

분류에서Dev

Symfony2-한 경로에서 여러 컨트롤러를 사용하는 방법은 무엇입니까?

분류에서Dev

팝업 뷰 컨트롤러에서 이전 뷰 컨트롤러로 값을 전달하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    마스터에서 디테일 뷰 컨트롤러로 데이터를 전달하는 적절한 방법은 무엇입니까?

  2. 2

    여러 저장된 procs (model)를 비동기 적으로 호출하고 컨트롤러의 결과 집합을 MVC의 뷰에서 변수에 할당하는 방법은 무엇입니까?

  3. 3

    뷰에서 zend의 다른 지정된 컨트롤러의 작업으로 데이터를 보내는 방법은 무엇입니까?

  4. 4

    드롭 다운 목록에서 선택한 항목 ID를 컨트롤러의 작업으로 전달하는 방법은 무엇입니까?

  5. 5

    Swift에서 한 뷰 컨트롤러에서 다른 뷰 컨트롤러로 데이터를 이동하는 방법은 무엇입니까?

  6. 6

    한 뷰 컨트롤러에서 다른 뷰 컨트롤러로 데이터를 전달하는 방법은 무엇입니까?

  7. 7

    Symfony2 컨트롤러에서 파일의 절대 경로를 얻는 방법은 무엇입니까?

  8. 8

    Swift를 사용하여 다른 뷰 컨트롤러에서 한 뷰 컨트롤러의 IBoutlet에 액세스하는 방법은 무엇입니까?

  9. 9

    SwiftUI의 버튼 동작에서 뷰 컨트롤러를 탐색하는 방법은 무엇입니까?

  10. 10

    보기의 목록에서 컨트롤러 및 작업을 표시하는 방법은 무엇입니까?

  11. 11

    MVC의 하나의 컨트롤러에서 다중보기 버튼 (제출)에 대한 작업을 만드는 방법은 무엇입니까?

  12. 12

    뷰 컨트롤러를 다시 시작한 후에도 progressView의 진행 상황을 표시하는 방법은 무엇입니까?

  13. 13

    한 뷰 컨트롤러에서 다른 뷰 컨트롤러로 신속하게 이동할 경우 배열에 값을 동적으로 추가하는 방법은 무엇입니까?

  14. 14

    컨트롤러의 각 작업에 대해 CSS 파일을 동적으로로드하는 방법은 무엇입니까?

  15. 15

    버튼 동작을 사용하여 한 뷰 컨트롤러에서 다른 뷰 컨트롤러로 데이터를 전달하는 방법은 무엇입니까?

  16. 16

    적절한 업그레이드의 영향을받는 서비스를 수동으로 다시 시작하는 방법은 무엇입니까?

  17. 17

    CakePHP 3의 컨트롤러에서 뷰 블록 콘텐츠를 변경하는 방법은 무엇입니까?

  18. 18

    CakePHP 3의 컨트롤러에서 뷰 블록 콘텐츠를 변경하는 방법은 무엇입니까?

  19. 19

    iOS의 상위 뷰 컨트롤러에 동일한 하위 뷰 컨트롤러를 추가하는 방법은 무엇입니까?

  20. 20

    magento의 동일한 컨트롤러에서 다른 기능을 사용하는 방법은 무엇입니까?

  21. 21

    컨트롤러 작업에서 동적 매개 변수 양을 처리하는 방법은 무엇입니까?

  22. 22

    컨트롤러 작업에 대한 액세스를 제어하기 위해 RBAC 사용 규칙을 추가하는 방법은 무엇입니까?

  23. 23

    iOS에서 UIPage 뷰 컨트롤러를 자동으로 스크롤하는 방법은 무엇입니까?

  24. 24

    JavaFX : 동일한 fxml 파일에서 컨트롤러를 동적으로 변경하는 방법은 무엇입니까?

  25. 25

    Laravel의 웹 컨트롤러에 경로 매개 변수를 전달하는 방법은 무엇입니까?

  26. 26

    Rails에서 업데이트를 위해 뷰에서 컨트롤러로 빈 텍스트 배열을 전달하는 방법은 무엇입니까?

  27. 27

    기본 뷰에서 자식 뷰 컨트롤러로 별도의 클래스에서 뷰를 표시하는 방법은 무엇입니까?

  28. 28

    Symfony2-한 경로에서 여러 컨트롤러를 사용하는 방법은 무엇입니까?

  29. 29

    팝업 뷰 컨트롤러에서 이전 뷰 컨트롤러로 값을 전달하는 방법은 무엇입니까?

뜨겁다태그

보관