2017-11-16 11 views
0

Aurelia 대화 상자를 여는 경우 일반적으로 viewModel을 전달합니다.Aurelia 대화 상자에서 viewModel에 대한 경로를 만드는 방법은 무엇입니까?

현재이 방법을 사용하고 있지만 경로가 하드 코딩되지 않은 경우 더 좋을 것입니다.

  let lookupResponse = await this.dialogService.open(
      { 
       model: 
       { 
        configuration: this.LookupConfiguration 
        caption: 'Select an item' 
       }, 
       viewModel: 'App/Components/Lookup/LookupDialog' 
      }); 

차라리 그냥이 오류가 구성 요소에 대한 Routes.js를 추가하고 그것을 사용하려고하면 경로

  let lookupResponse = await this.dialogService.open(
      { 
       model: 
       { 
        configuration: this.LookupConfiguration 
        caption: 'Select an item' 
       }, 
       viewModel: App.routes.components.lookupdialog 
      }); 

처럼 뷰 모델의 경로를 참조 할 것 :

Uncaught (in promise) Error: Cannot determine default view strategy for object.

그렇다면이 기능을 추가하려면 무엇을 추가해야합니까? 어떤 종류의 사용자 정의보기 전략?

답변

1

당신은 당신의 클래스로 대화 상자를 import과 같이 사용할 수 있습니다 : (약속을) catch되지 않은 오류 : '모듈을 찾을 수 없습니다 ./604

import { LookupDialog } from "app/components/lookup/lookup-dialog.ts"; 

export class Foo { 
    bar() { 
    let lookupResponse = await this.dialogService.open(
     { 
     model: 
     { 
      configuration: this.LookupConfiguration 
      caption: 'Select an item' 
     }, 
     viewModel: LookupDialog 
     }); 
    } 
} 
+0

것은 내가 그것을 나는이 오류가이 방법을 시도합니다. html ' –

+0

어디서 파일을 가져 왔는지 알 수 없기 때문에 오류의 출처를 알 수 없습니다. –

+0

버전 문제 일 수 있습니다. webpack 1.x로 빌드 된 이전 버전과 webpack 3.x로 빌드 된 새 버전이 있습니다. 최신 버전에서는 가져 오기가 정상적으로 작동합니다. 그것은 단지 오래된 것을 망칠뿐입니다. –