从视图模型动态更改模板(Aurelia)

spe*_*men 3 aurelia

是否可以从视图模型中动态更改哪个html模板?

例如,基于从服务器下载的数据,我想选择不同的模板(或视图模型中的一些其他逻辑)

更新 根据以下答案提示getViewStrategy,这是一个完整的示例:

export class MultiView {
  gender : string

  getViewStrategy() {
      if(this.gender == 'boy')
          return './multi-view-blue.html'
      else
          return './multi-view-pink.html'
  }

  // when view is made visible (e.g. by using the router)
  activate() { 
      this.gender = Math.random()>0.5 ? "boy" : "girl"
  }
}
Run Code Online (Sandbox Code Playgroud)

小智 5

如果要在单个视图模型上执行此操作,请实现getViewStrategy函数.

export class MyView{
    getViewStrategy(){
        return 'my-other-view.html';        
    }
}
Run Code Online (Sandbox Code Playgroud)