Webix Jet提供了Router API来进行页面导航。以下是示例代码:
import {JetView, JetApp } from 'webix-jet”;
export default class TopView extends JetView {
config(){
const top = { view: "toolbar", elements: [...toolBarOptions] };
const left = { view: "list", template: 'Some text here…”, select:true , data:[…] };
const content = { $subview:true };
const ui = { cols: [left, content] };
return { view:"window", position: "center", height:600, width:800, elements: [top, ui] };
}
}
export default class MenuView extends JetView {
config(){
const menu = { view:"list", template:"#menu# item clicked", select:true, data:[…] };
return menu;
}
init(){
const menu = this.getRoot().queryView({view:"list"});
menu.attachEvent("onItemClick", (id) => this.app.show(../start/${id}
) );
}
}
const app = new JetApp({
router: {
routes:[
{
path: "start/:menu",
ui: "top",
menu:"menu",
id:"start",
params:function(params){
return this.toStart(params.menu);
}
},
]
},
views:{
"top":TopView,
"menu":MenuView,
},
});
app.render();
app.show('/start/1');
以上代码创建了两个视图TopView和MenuView,TopView包含了左侧菜单栏和右侧内容,MenuView是菜单栏视图。app.show()方法会导航到指定的子视图。JestApp实例创建时也设置了router配置来管理路由。