问题标签 [backbone-views]

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.

0 投票
1 回答
694 浏览

backbone.js - 在对路由处理程序的后续调用中,骨干视图未正确呈现

我在从路由处理程序(浏览器应用程序)成功呈现主干.js 视图时遇到问题。

我的 javascript 模块当前设置如下:

当我运行应用程序时,一切都运行良好......它按预期导航到主视图。我设置了带有处理程序的链接,以适当地导航到不同的路线,当我运行app.navigate('pre-sort', { trigger: true, replace: true})它时,它运行得很好,并按预期呈现列表中的预期项目。

当我尝试返回主视图,然后再次返回预排序视图时,问题就出现了……列表中的项目没有像我期望的那样显示在屏幕上。我只是得到pre-sort-actions-template没有附加子视图的空渲染。我已经单步执行了代码,并且可以看到集合已填充并且项目在那里......但由于某种原因,我的代码没有正确地将它们呈现到视图中,我似乎无法弄清楚为什么或我做错了什么。有任何想法吗??我对骨干很陌生,所以我确信这段代码写得并不完全正确……欢迎提供建设性的反馈。谢谢。

0 投票
1 回答
2539 浏览

javascript - 骨干视图事件未触发 - 不知道为什么

我试图让click事件触发,但它不起作用。也许有人能看到我看不到的东西。

这是它正在提取的模板:

这是将 ConnectionView 放入 DOM 的视图:

0 投票
1 回答
381 浏览

backbone.js - Backbone.js 重新实例化集合不会更新相应的视图

这是我的模型视图和集合:

在代码的另一部分我使用实例化上述对象

'someURL' 是一个基于 REST 的 URL,它返回 JSON 对象列表

到目前为止,一切看起来都不错。我想要实现的是:我必须能够通过更改 url 来刷新“reportCollection”,这应该会触发更新的“reportCollectionView”。感谢您的任何指点

0 投票
2 回答
4472 浏览

javascript - 为下一次实例化设置的主干视图属性?

我有一个具有tooltip属性的视图。我想在initializeor上动态设置该属性render。但是,当我设置它时,它会出现在该视图的下一个实例中,而不是当前的:

这是我初始化视图的方式:

如何attribute在当前视图上动态设置我的(工具提示),为什么它会影响下一个视图?

谢谢

0 投票
2 回答
2267 浏览

backbone.js - Backbone.js 只读集合视图渲染

我的问题的快速总结:视图的第一次渲染包含集合中的元素,而第二次渲染不包含。请继续阅读以了解详细信息...

另外值得注意的是:我确实意识到以下代码代表了幸福的道路,并且有很多潜在的错误处理代码丢失,等等,等等......这是为了简洁而故意的。

我对backbone.js 很陌生,并且在找出为以下场景实施解决方案的正确方法时遇到了一些麻烦:

我有一个带有两个主要区域的页面,以包含/显示将成为应用程序主要布局的渲染内容。一般来说,它看起来像这样:

我有一个从中获取数据的 HTTP API,它实际上以 JSON 结果的形式提供各种模块的资源信息,这些信息来自OPTIONS对每个模块的基本 URL 的调用。例如,OPTIONS请求http://my/api/donor-corps返回:

该应用程序有一个我正在调用的主干集合,DonorCorpsCollection它将是一个只读DonorCorpModel对象集合,可能由多个不同的主干视图呈现并以不同的方式显示在应用程序的不同页面上(最终......稍后...... .目前情况并非如此)。该url属性DonorCorpsCollection将需要将对象的属性与初始调用结果的Url“GetDonorCorps”属性一起获取API模块资源(如上所示)。NameOPTIONS

该应用程序顶部有一个菜单栏,其中包含链接,单击这些链接将呈现应用程序的各个页面。目前,应用程序中只有两个页面,“主页”页面和“预排序”页面。在“主页”视图中,两个面板中都只有占位符信息,表明用户应该单击菜单栏上的链接来选择要执行的操作。当用户单击“预排序”页面链接时,我只想显示一个主干视图,该视图DonorCorpsCollection在操作面板中呈现为无序列表。

我目前正在使用JavaScript 模块模式来组织和封装我的应用程序代码,我的模块目前看起来像这样:

最后,这一切都使用以下 HTML:

到目前为止,当我一次点击“预排序”菜单链接时,我已经能够让它工作。当我单击它时,它会按预期呈现捐赠者军团的列表。但是,如果我然后单击“主页”链接,然后再次单击“预排序”链接,这次我会看到标题,但它<ul class="donor-corp-bins"></ul>是空的,其中没有列表项。...而且我不知道为什么或我需要做不同的事情。我觉得我一般理解backbone.js 视图和路由器,但在实践中,我显然遗漏了一些东西。

总的来说,这似乎是一个相当直接的场景,我不觉得我在这里尝试做任何特殊的事情,但我无法让它正常工作,而且似乎无法弄清楚原因。非常感谢您的协助,或者至少向正确的方向轻推。

0 投票
2 回答
519 浏览

ruby-on-rails - Backbone.js 和 rails 代码组织

我正在开发一个具有多种类型用户的应用程序,每个用户在登录时都有一个单独的视图。例如,业务类型用户将创建他的个人资料上传照片等,创建一些其他的东西。然后企业创建的内容在网络应用程序的登录页面上公开可见。

我在客户端使用骨干网,但整个 Web 应用程序并不都是骨干网,业务管理区域是一个单独的部分,骨干网应用程序在客户端运行,现在我希望从公共登录页面开始,我对如何使这项工作感到困惑,我应该为此页面创建一个新的主干应用程序,还是将更多视图模型和集合填充到同一个应用程序中?

两个页面的 url 不同,一个是whatever.com/business,着陆页是whatever.com

来自业务方面的许多视图和模型与公共登录页面上所需的相同。但我想不出一个关于如何组织这个的好解决方案。

有没有人以前做过这样的事情。有什么见解吗?

谢谢

0 投票
1 回答
2504 浏览

backbone.js - 主干布局管理器和车把模板引擎

我正在使用backbone.layoutmanager 项目: https ://github.com/tbranyen/backbone.layoutmanager#readme

有人可以发布一个带有车把模板引擎的样本吗?包含修改后的 app.js 文件和实例视图?

我已按照说明进行操作,但我有点困惑我应该在实例级别和全局范围内做什么。我不断在我的模板上收到“没有方法'匹配'错误消息。

谢谢

0 投票
3 回答
3403 浏览

javascript - 主干视图无法访问 jQuery 选择器

我有一个处理注册组件的主干视图,因为这需要大量的表单访问我有想法将表单选择器存储在对象属性中。

当我 console.log this.form 时,我得到一个看起来不错的对象,没有任何未定义或奇怪的东西:

登录访问选择器 (this.form.username.val()) 的 jquery 函数失败,未定义。

为什么不能在属性上使用 jQuery 函数($el 使用它)思考错误在哪里?

0 投票
2 回答
2672 浏览

backbone.js - 在 Backbone.js 中使用路由器管理视图

我正在使用具有以下布局的单页应用程序:

应用程序的布局

我正在使用 Backbone.js 路由器来管理屏幕上加载的元素:

每次我单击#List 中的列表项时,都会生成#Content1,当我在#Content1 上的块上执行此操作时,会出现#Cont3。

我面临的问题是,例如,如果由于某种原因,我在地址为 localhost/content1 时刷新页面;#List 中的元素消失。

我希望#List 中的内容在加载时始终存在,与 url 可能是什么以及 #Content1 中的内容无关。有没有办法使用骨干路由器来实现这一点?

谢谢

0 投票
1 回答
262 浏览

backbone.js - 在 Backbone 视图中的 model.set 后无法引用 Backbone 模型

我试图通过将更改事件绑定到视图模型来让视图自我呈现。我在 PageView 上创建了一个自定义函数,它将 Pages 集合中的模型作为参数,并使用 this.model.set(data) 来触发模型更改事件。当我通过 this.page.load(Pages.at(index)) 将 AppView 中的 Pages 集合中的 Page 模型传递给它时,就会触发这种情况。我遇到了一些问题。

  1. change 事件仅在 2 个不同模型之间来回切换时触发一次,我可以通过运行 this.model.clear({silent:true}) 来解决这个问题,但这并不理想。
  2. this.model 在除 PageView 中的 load() 函数之外的任何函数中始终未定义,这确实是主要问题,因为如果模型未定义,我显然无法触发 this.render。因此测试:函数()。

无论如何,这是我的 AppView 和 PageView 函数的代码。提前感谢您的帮助。