问题标签 [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.
canjs - Can.js 中的路由约定
所以我希望在我超酷的 can.js 应用程序中创建一些路由。目标是这样的……</p>
那么我们该怎么做呢?
酷豆,我们走了。那么,如果有人将链接发送给类似...
什么都没发生!好的,让我们添加路线。
伟大的。现在该链接有效。在这里,路由器的工作只是加载控制器。控制器将识别出需要 pdf 操作,并显示正确的视图。
所以假装我已经加载了一个声明claims/:id
,我编辑了一两件事。然后我单击打印预览按钮查看 PDF 并将我的路线更改为claims/:id/pdf
.
应该发生什么……索赔控制器正在观察路线并显示 pdf 视图。
实际发生了什么……路由器看到更改,匹配claims/:id/pdf
我们添加的路由,并重新加载声明控制器,显示从服务器/缓存中提取的声明的新版本,丢失我的更改。
为了尝试定义问题,我需要路由器识别路由何时更改,路由属于哪个控制器,如果控制器已经加载,请忽略它。但这很难!
我们可以绑定“控制器”更改。所以定义路由can.route(':controller')
和绑定在:controller
.
但是点击一个声明(从 ClaimsController 更改为 ClaimController)不会触发,因为claim
在这两种情况下第一个标记是相同的。
有没有我可以依赖的约定?我是否应该指定应用程序中的每条路由并检查控制器是否已加载?我的首选路线网址不起作用吗?
javascript - Canjs 路由组件
组件路由是如何使用 canjs 完成的?
我有以下示例
如何匹配具体路线?例如页面/2/foo。
路线定义为
canjs - CanJS URL解码问题
我有路由处理:
但是当我打开localhost/#!profile/log&flag=alpha
并刷新页面时,页面的网址变成了localhost/#!profile%2Flog=&flag=alpla
如果我注释掉:
它工作正常。有什么办法不直接接触这个 can.jquery-1.1.5.js 文件吗?还是canjs的deparam方法的问题?
canjs - CanJS can.route.ready() 2.1 版-'#!' 单击链接时更改为 '#!&'
我有一个应用程序,它依赖 can.route 在用户单击链接时捕获#change。链接的 href 具有模式“#!”。一旦can route实用程序捕获了更改,我就会看到浏览器中的哈希更改为#!&。
这导致浏览器历史堆栈中的附加条目。有没有人遇到过类似的问题?
感谢你的帮助。
canjs - CanJS - 两种方式绑定
如何使用 CanJS 进行双向绑定?
可以显示多种方法吗?使用视图模型?