我正在设置一个包含多个视口的应用。但是我希望其中一个视口是可选的,即如果视口未在某个路径中定义,则它应该不呈现。但是,如果我尝试这样做,Aurelia会抛出一个错误。还有另一种方法可以使视口可选吗?
答案 0 :(得分:2)
如果aurelia中没有内置支持,您可以将不需要的视口点配置为具有以下逻辑的模块:
import {noView, inject} from 'aurelia-framework';
@noView
@inject(Element)
export class HiddenViewPort {
constructor(element) {
this.element = element;
}
activate() {
// hide the router-view element
this.element.parentNode.classList.add('aurelia-hide');
}
deactivate() {
// show the router-view element
this.element.parentNode.classList.remove('aurelia-hide');
}
}
答案 1 :(得分:0)
据我所知,不支持可选视口。我们的解决方法是使用 empty 模块,没有任何内容:
import {inlineView} from 'aurelia-templating';
@inlineView('<template></template>')
export class EmptyViewModel {
}