问题标签 [backbone-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.
backbone.js - 使用查询字符串导航路线
将Backbone.Router.navigate
设置test
为true
:
例如,posts?foo=3
fragment 会默认匹配posts
路由,还是我必须为此设置另一个路由,例如:posts?*querystring
?
谢谢
PS:我知道存在骨干查询参数,但我只想知道骨干。
backbone.js - 链接中的锚点
鉴于:
- Tom — 拥有支持 pushState 的现代浏览器
- Fred——他的浏览器不支持 pushState
super.app
由 Backbone 提供支持的Web 应用程序
Tom 浏览到存在部分的products/1
页面#special-offer
。
Backbone 是否允许 Tom 与 Fred 共享链接,包括特价部分的锚点: http: //super.app/products/1#special-offer
Fred 会被重定向到http://super.app/#products/1(例如:没有#special-offer
)吗?
换句话说,Backbone 是否允许使用锚点?
html - 如何使用 Backbone.js 处理返回?或者如何在不再次调用 fetch 的情况下呈现较早访问的页面?
我正在使用backbone.js 创建一个Web 应用程序,其中有多个渲染良好的视图。主要问题是处理后退按钮事件。当我按下后退按钮时,早期视图会正确呈现,但遵循调用 fetch() 的相同过程。我不希望调用 fetch() 而是使用接收到的较早数据呈现视图。
有什么办法吗?
javascript - 具有来自静态 json 文件(只读)的路由的主干应用程序?
我正在构建一个只读主干应用程序,其数据(来自单个静态 json 文件)遵循某种建筑/校园结构。那是:
我目前有一个基本的应用程序设置,显示默认“路线”上每个建筑物的建筑物和楼层列表。
我想使用路由器,以便 APP/#buildingId/ 显示带有“buildingId”的建筑物的楼层列表,而 APP/#buildingId/#floorId 显示相关的房间列表等。
我当前代码的 JSBIN(没有 data.json) - http://jsbin.com/welcome/5850/edit
很多代码可能已经过时,但我尝试了不同的方法来构建模型/集合。这个应用程序永远不会超过只读,这就是我使用静态文件的原因。
类似问题:How to use JSON to power interactive Backbone.js app
提出的解决方案根本不使用路由器。
javascript - Trouble accessing attributes in the template - all attributes apart from 'name' show error '[attributename] is not defined'
The problem is that all Object attributes apart from 'name' call the error 'id/url/whatever is not defined' in the console when accessed from the template. A template with just 'name' displays fine and shows the correct name, but as soon as I call a different attribute, eg. id
or url
, it breaks. The object passed to the view is a parsed static JSON file with all items sitting on the same level and accessible from the console with e.g. collectionName.models[0].get('id');
What has me confused is that the name attribute works, as if it is predefined somewhere in backbone/underscore code as a default.
Am I missing something very obvious? Since I can access the model data from the console, I think that there's something wrong with how the view itself handles the data, but I've tried rewriting it in a couple different ways and nothing seemed to make any difference.
All the relevant code.
Passed object format.
This is also what collectionName.models[0].attributes;
returns in the console.
}
Example template code:
The router code:
Views:
Model code:
Templates & Bootstrap
javascript - 找出骨干“路由器”实际上得到了什么
试图让骨干路由器工作。有一种情况是什么都没有发生,因此很难查明问题所在。
有没有办法找出路由器实际接收的内容,以便我可以尝试查明我的路由问题?
这是到目前为止的代码:
非常感谢!
javascript - 使用 Backbone.js 中的 :id 等参数指定根 url 并能够访问它
嗨,我想让我的根 url 有一个如下所示的 :id 段,它应该作为参数传递给与之匹配的每个路由
但现在我得到的 id 是未定义的,即使它是根 url 的一部分。
请帮我
javascript - Backbone.js 分页,从 Backbone.history.fragment 中删除页码
我想为我用 Backbone 编写的应用程序创建页面导航。
当我想创建页面导航时,我在创建 URL 时遇到了问题。
因为 Backbone.history.fragment 将返回 path/to/1
上面的代码将返回 path/to/1/some_page_number。
虽然我希望它是
路径/到/some_page_number。
我怎么能这样。
提前致谢。
backbone.js - 页面加载后,骨干网立即导航到基本 URL
我一直面临主干路由的这个问题,并认为我已经花了足够的时间调查:
这里有两个 url:/ 和 /post/:id。/ 页面通过 /post/:id 链接到各种帖子。当我单击帖子链接时,帖子页面会加载,但骨干网会立即将 url 更改为 /。这不仅看起来很糟糕,而且还会在错误的时间触发路由处理程序。我没有做任何特别的事情......这是我的代码:
同样,在帖子页面加载后立即调用 doHome 函数。显然,这会导致站点导航回主页。我显然可以删除对 window.location 的调用以防止这种情况发生,但 url 仍会更新为根 url,这是不可接受的。
提前致谢!
更新 1:
如果我直接转到“localhost:808/post/:id”,则 url 立即更改为“localhost:8080/”。但是,如果我在私人浏览器窗口中执行完全相同的操作,则不会观察到这种行为。
更新 2:
鉴于我在更新 1 中发现的情况,我发疯了,从头开始:我清除了 4 周的浏览历史记录(叹气),停止本地服务器并清理所有持久会话并重新部署我的应用程序。唉,它奏效了!也就是说,我没有将此列为解决方案,因为它无助于解释究竟发生了什么以及如何解决它。此外,这让我担心我网站的用户会发生这种情况。我无法告诉他们发生了这种情况,即使我这样做了,我也无法告诉他们如何最终修复它(清除 4 周的浏览器历史记录不是一种选择!)。任何人都可以对可能发生的事情有所了解吗?
backbone.js - 主干 Web 应用程序上的文件结构
我正在开发一个通过骨干网运行并使用路由器的 Web 应用程序。在某些事件成功时,我想将用户重定向到静态成功页面。
将路由 url 路径与静态页面(例如我的成功页面)明确分开的良好命名约定是什么?
我的路由主干对象中的路由对象如下所示: