问题标签 [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 - 骨干路由器不使用样板工作
好的,我认为这很简单,但是我很愚蠢地看到它。这是我在主干中使用主干样板方法的代码
我正在运行这个 MAMP 服务器,当我输入 Localhost:8888/reel 时,我得到了样板文件附带的示例索引页面。但是,当我输入 Localhost:8888/reel/item 或 Localhost:8888/reel/#item 时,我要么得到,要么找不到页面或将其定向回我的索引页面。
我的问题是我做错了什么。我需要使用 htaccess 吗?这似乎不对。有没有办法使用主干对此进行排序。对不起,如果这真的很简单,只是无法理解它。
backbone.js - 在 Backbone.js 中使用路由器管理视图
我正在使用具有以下布局的单页应用程序:
我正在使用 Backbone.js 路由器来管理屏幕上加载的元素:
每次我单击#List 中的列表项时,都会生成#Content1,当我在#Content1 上的块上执行此操作时,会出现#Cont3。
我面临的问题是,例如,如果由于某种原因,我在地址为 localhost/content1 时刷新页面;#List 中的元素消失。
我希望#List 中的内容在加载时始终存在,与 url 可能是什么以及 #Content1 中的内容无关。有没有办法使用骨干路由器来实现这一点?
谢谢
javascript - Backbone.js 路由器模式,用于对浏览器“后退”按钮或直接导航的不同响应
是否有一个很好的模式来实现对这两个事件做出不同响应的 Backbone.js 路由器:
- 直接导航- 用户通过将 url 直接放入浏览器或通过调用应用程序直接导航到页面
Router.navigate()
- 浏览器“返回”按钮- 用户按下“返回”按钮可以转到他们之前所在的页面。
我问的原因是因为如果由于用户按下“后退”按钮而调用路由器,我只想将旧视图放回其元素中,$('element_id').html(view.el)
而无需将数据重新加载到模型中并重新渲染风景。
如果由于用户通过在浏览器中输入 url、单击链接或从应用程序中调用 Router.navigate() 直接导航到页面而调用路由器,我希望路由器指示模型重新请求数据并触发视图的重新渲染。
任何帮助和建议将不胜感激,非常感谢!
javascript - 如何在初始页面加载时禁用 Backbone.js 路由
我知道最佳做法是说“您的内容必须在页面加载时可用”,我就这样做了。如果用户导航到/questionnaire/info/id/2
,PHP 会提供完整的 html。但是在此之后问题出现了,backbone.js 匹配相同的路由并重新请求相同的页面并使用 ajax 加载它。
如何为当前页面的首次加载禁用主干?
javascript - 骨干路由匹配不起作用
我有三个这样的路线:
我像这样初始化它们:
在第一页加载路由匹配,它甚至 console.log 正确的消息。但我有一个这样的链接元素:
""
它与路线不匹配。"questionnaire/info/id/:id"
而且这个 href 元素与路由不匹配:
我怎样才能使它工作?谢谢。
javascript - 动态页面上的骨干路由器配置
我有一个通过 get 请求加载的 php 页面,其中包含多个参数,例如:index.php?page=6&name=Virginia。加载页面后,我将初始化主干并使用它在页面的一部分上呈现视图。问题是路由器似乎正在获取我的整个 url 并注册它,因此为了触发路由,我必须将以下内容附加到我的链接:. 这有效,但很丑陋。我尝试将 root 参数更改为 Backbone.history.start 但似乎无法使其正常工作。我敢肯定,大多数人不会从带有查询参数的动态页面开始主干,但感谢您提供任何帮助。我尝试了从插件到不同正则表达式的各种解决方案,但无济于事。
ruby-on-rails - 主干.js 视图中的每个集合
如果我在视图中循环集合,它似乎是空的,不会出现警报对话框。当我在这个视图中使用 console.log(this.collection) 时,它看起来没问题(这个集合中有 16 个元素)。
我的路由器:(集合 url:'/api/employees',这是一个 rails json 输出)
和我的 index.js 视图:
编辑:
这是 console.log(this.collection) 在视图中的输出:http: //i.stack.imgur.com/ZQBUD.png
编辑2:
我认为 Rails 是有罪的。当我使用静态集合时,一切正常
backbone.js - 控制器上带有路由器的模块化 Backbone.js Marionette 应用程序 - 路由不起作用
我目前正在使用 Backbone.js Marionette 框架重写一个已经存在的应用程序。新堆栈应该是相当模块化的,以便可以很容易地添加新控制器。该应用程序有一个 node.js 后端,并为每个调用提供一个 json 响应。
该应用程序是使用(如前所述)Marionette 应用程序定义的:
PlugUI.js: var PlugUI = new Backbone.Marionette.Application();
所以,我想,这是相当标准的。然后我确实提供了一个具有一些相当标准内容(即模型、视图和路由器方法)的“控制器”,如下所示:
只要我直接触发这个控制器的视图,这就会很好地工作。如果我在其中添加另一个具有相同内容的控制器并通过路由器触发 show 方法,那么基本上什么都不会发生。我现在在前端添加了一个事件,以在新控制器中显示视图,这确实有效,但我认为这些东西应该通过路由器工作。我理解错了吗?
有关完整(不工作)的源代码,请查看github 项目。
非常感谢任何帮助。
backbone.js - 如何使用 Meteor 创建动态 URL?
我是 web 开发的新手,被 Meteor 网站上的演示所震撼,并想使用它。到目前为止,我只使用过 Google App Engine,并且要在主类中处理动态 URL,我会编写如下内容:
这会将末尾带有数字 0 到 9 的任何 URL 映射到处理程序类,该处理程序类将使用模板引擎(如把手)加载 HTML 页面以及页面的适当数据。
我如何在 Meteor 中做类似的事情?
backbone.js - 如何抑制 # hrefs 的点击事件?
当链接href是哈希(#)时,我想自动抑制点击事件。我不想在每个视图中使用 e.preventDefault() 来停止事件。
如何停止# hrefs 的点击事件应用程序范围?