问题标签 [canjs-routing]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 在 CanJS 中使用 can.Control.route 定义两个独立的路由器
我在不同的 JS 文档中定义了两条路由,尽管它们都包含在同一个 HTML 文件中。路线 1 如下所示:
另一个是这样的:
当我浏览到 #!receipts/1 时,Receipts 和 Invoices 都被实例化了。为什么会这样,我该如何解决?
routes - 如何定义一个catch all路由来处理can js中的404?
在 can.js 中定义处理 404 的全部路由的正确方法是什么,以便首先检查所有正确的路由?如果不匹配,这条路线将捕获它,我可以显示 404 消息。
javascript - 如何在 CanJS 中实现路由器
我正在使用https://github.com/thinkadoo/Projects应用程序的帮助。在这个的帮助下,我构建了一个类似的应用程序。我的应用程序使用的是 d3 图表,而不是这个使用的图表。我的应用程序将路由器初始化为
现在如果我想实现路由器那么应该做哪些改变?这是我的 JSFiddle 与这两种实现。第一个正在工作。但是我初始化路由器的后面部分似乎不起作用。 http://jsfiddle.net/sweety1112/YMAjm/
有人能帮我吗。
javascriptmvc - CanJS url 改回 #! 何时执行 can.route.ready(true)
代码在这里:http://jsfiddle.net/cTpPx/,但在这里查看实时示例http://fiddle.jshell.net/cTpPx/show/,因为我希望你观察 url 的变化。
访问此页面时请禁用Chrome缓存(在内置Chrome调试器工具中勾选相关框,测试时不要选择调试器)
当您打开页面时,您会看到 hastag#!latest
按预期更改,但在can.route.ready(true)
执行时,它又变回#!
空路由。为什么会有这种奇怪的行为?
但是,当您有此页面的缓存时,它将起作用。
javascript - canjs:触发当前页面的路由事件
我有一个看起来像这样的 can.Control:
如果当前页面是 {page: "home", type: "test"},则不会调用 "route" 回调。
无论我当前在哪个页面上,如何触发路由事件?
我的想法......
我可以this.route()
直接打电话,但是我必须处理更改 URL,这使得它不是一个好的解决方案。
javascript-framework - CanJS multiple page app
The tutorials and example I've seen are all single page application.
Can anyone give an idea or point to a resource showing how a multiple page app can be developed with CanJS?
javascript - Location.hash 返回空字符串
我目前正在为我的 Web 应用程序使用 jQuery、Twitter Bootstrap 和 CanJS。我正在尝试使用 CanJS 实现路由。我正在使用 Bootstrap 的选项卡,当我单击一个选项卡时,它应该会带上 #tabSearch、#tabUser 或 #tabPermissions,但哈希返回的是一个空字符串。我究竟做错了什么?
我正在使用它来更改标签:
这是 HTML 部分:
canjs - js可以延迟路由匹配/手动触发调度吗?
我有一个这样的控件设置:
- 渲染一个异步加载的视图。
- 视图的数据也是异步加载的。
- 监听路由变化。其中一个路由处理程序显示一个模式,其中包含在步骤 2 中加载的模型的详细信息。
问题是用户可能会到达一个页面,该页面有一个指向模型的路由,该路由在控件初始化时不可用,因此显然没有加载模式。
如何在视图渲染后再次触发 distcher 或让控制器遍历路由?
javascript - can.routing :触发从 #!/foo/bar 到 #!/foo 的更改
我想了解 CanJS 的路由。到目前为止,我已经设置了以下路线。
我还没有设置监听器,因为我只是在控制台中尝试这个。以下工作正常:
但是在我这样做之后,我想触发一个事件在层次结构中“向上”,回到 #!/plant/1 级别。我试过做can.route.attr({plant : 1, day : undefined})
,但没有做任何事情。can.route.attr({plant : 1, day : null})
刚刚导致#!plant/1/day/null
。
那么我如何“重置”路线以现在“知道”关于今天是哪一天的任何信息?
javascript - 如何使用 {can.route} 监听空白路由并做出反应?
我想用 CanJS 设置路由,以便根据我点击的 url,设置一些相应的控件。我的问题是试图找到一种方法来表达要在控件中侦听的默认路由:“如果没有匹配,则执行此操作”。有什么建议吗?
到目前为止,这是我的代码。似乎适用于 and 之类的网址/#!/plant/1/day/3
,/#!/plant/1
但不适用于/#!
or/
PS我实际上通过这样做使用Can.Control.route插件来做到这一点:
但是路由插件似乎既设置路由又对它们做出反应,我想知道如何在没有特定插件的情况下做到这一点。