2014-02-28 4 views
1

라우터에서 내 컨트롤러로 데이터를 가져 오는 방법을 찾기 위해 고심하고 있습니다. print 메서드가 콘솔에 JSON 응답을 표시하므로 경로의 enter 메서드가 서비스에서 데이터를 올바르게 가져옵니다.경로 서비스에서 컨트롤러로 데이터를 전달하는 각도 다트

내 모듈은 다음과 같습니다

class MyAppModule extends Module { 
    MyAppModule() { 
    type(UsersService); 
    type(UsersController); 
    type(RouteInitializerFn, implementedBy: MyAppRouteInitializer); 
    factory(NgRoutingUsePushState, 
     (_) => new NgRoutingUsePushState.value(false)); 
    } 
} 

과 순간 내 라우터

class MyAppRouteInitializer { 

    final UsersService _userService; 

    MyAppRouteInitializer(this._userService); 

    void call(Router router, ViewFactory views) { 
    views.configure({ 
     'users': ngRoute(
     path: '/users', 
     view: 'views/users/users.html', 
     mount: { 
      'list': ngRoute(
      path: '', 
      view: 'views/users/list.html', 
      enter: (RouteEnterEvent e) { 
       _userService.all((HttpResponse response){ 
        var data = response.data['body']; 
        print(data); 
       }); 
      } 
      } 
     ) 
     }); 
    } 
} 

의 단순화 된 버전을 내 컨트롤러는 단지 거의 비어있는이

@NgController(
    selector: '[users-controller]', 
    publishAs: 'userCtrl' 
) 

class UsersController { 
    var list; 

    UsersController() { 

    } 

} 
처럼 보인다

서비스 응답을받는 방법에 대한 도움말 컨트롤러가 굉장 할 것입니다.

답변

0

경로 입력 이벤트 핸들러에서 왜이 작업을 수행 하시겠습니까?
경로 또는 이벤트의 정보를 사용하지 않았습니다.
모듈에 UserService을 등록하면 UserController에 주입 할 수 있습니다. 이것은, 내가 AngularDart에 새로 온 사람과 자신을 다트 제가 처음에했던 것입니다

class MyAppModule extends Module { 
    MyAppModule() { 
    type(UsersService); 
    } 
} 

@NgController(
    selector: '[users-controller]', 
    publishAs: 'userCtrl' 
) 

class UsersController { 
    var list; 

    UsersService _usersService; 

    UsersController(this._usersService) { 
    _userService.all((HttpResponse response){ 
        var data = response.data['body']; 
        print(data); 
    } 
} 
+0

. Angular.js에서 할 수있는 것처럼 경로 변경 전에 요청을 해결하는 방법을 생각하고있었습니다. 그러나 그것은 훨씬 간단합니다. –

+0

Angular.js를 모르지만 꽤 많은 차이점이있는 것 같습니다. 이것의 대부분은 Angular.js로 포팅 될 것으로 계획되어 있습니다 (들었을 때). –

+1

굉장하고, Angular.js는 멋진 프레임 워크입니다. 하지만 다트의 기능은 지금까지 본 것보다 훨씬 낫습니다. 며칠 전 다트를 집어 들었으므로 배우기가 쉽습니다. 감사 –

관련 문제