ฉันใช้ pushState และไม่ใช้แฮชสำหรับโครงสร้าง URL
ฉันมีเส้นทางและมีการเชื่อมโยงพารามิเตอร์บางอย่าง - บางอย่างเป็นทางเลือก:
route: [
'chart/:chartType/:id',
'chart/:chartType/:id/:view?',
'chart/:chartType/:id/page/:page?',
'chart/:chartType/:id/:view?/page/:page?'
],
จากนั้นฉันก็ได้ path-href แล้ว และฉันก็มีข้อผูกมัดที่จำเป็นอยู่ที่นั่น:
route-href="/throute.bind: chart; params.bind: { id: chartId, chartType: type, view: viewType, page: pageNum }"
...แต่จะเป็นอย่างไรถ้าฉันไม่ต้องการพารามิเตอร์เส้นทางทั้งหมดสำหรับ route-href
เสมอไป ฉันต้องการเชื่อมโยงไปยังเส้นทางที่ใช้ ChartType และ id โดยไม่ต้องสร้างเส้นทางแยกกันสำหรับชุดพารามิเตอร์ทุกชุดที่ฉันมีในเส้นทางนี้
ฉันรู้ว่าฉันสามารถใช้ "?" ในการกำหนดค่าเราเตอร์เพื่อกำหนดเส้นทางที่เป็นตัวเลือก แต่ฉันจะทำให้พารามิเตอร์เป็นตัวเลือกในลิงก์ Route-href ของฉันได้อย่างไร
การทำสิ่งนี้ทำให้เกิดข้อผิดพลาด:
route-href="/throute.bind: chart; params.bind: { id: chartId, chartType: type, view?: viewType, page?: pageNum }"
และดูเหมือนว่าฉันจะใช้ .bind
ไวยากรณ์ไม่ได้ เช่นนี้ (ซึ่งมีข้อผิดพลาดด้วย):
route-href="/throute.bind: chart; params.bind: { id: chartId, chartType: type, view.bind: hasViewParam, page.bind: hasPageParam }"
เคล็ดลับไวยากรณ์วิเศษที่นี่คืออะไร