- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在构建我的第一个 Backbone Marionette 应用程序,但我对如何将可重用的 UI 添加到我的 View 模板感到困惑,因为这些 UI 元素具有 JavaScript 交互。
我构建了许多 UI 元素,例如下面显示的输入元素。可以通过 JavaScript 与此输入元素进行交互,例如通过单击向上/向下箭头来更改输入的值。
这些 UI 元素应该在多个 View 中一次又一次地重用,并且在任何给定 View 中可以包含这些 UI 元素的许多实例。下面显示了一个此类 View 的模型,其中包含多个 UI 元素。
此 View 的模型可能如下所示,我希望我的 UI 元素的 JavaScript 交互与此 View 的模型交互。换句话说,UI 元素上的 JavaScript 交互必须能够将事件传递给显示 UI 元素的 View 模型。
var fontStyles = Backbone.Model.extend({
defaults: {
fontFamily: "Helvetica Neue",
fontWeight: "Regular",
color: "rbg(1,197,255)"
...
}
});
我的问题
对于结构合理的 Backbone Marionette 应用程序,我应该在哪里定义这些可重用的 UI 元素及其 JavaScript 交互方法,以便我可以在我的所有 View /模块中重用它们?
作为另一个问题,是否可以在模板文件中为这些 UI 元素编写一次 HTML,然后在我的 View 的下划线模板中一次又一次地重复使用该单个 UI 模板文件?或者我是否必须在每个 View 的模板中为我的 UI 元素重复 HTML?
感谢您的帮助,如果我的问题不清楚,请告诉我。
最佳答案
您应该将此元素创建为 Marionette.ItemView 的扩展
应创建每个项目 View 并将其放置到要使用它们的布局内区域
当然,因为它是 ItemView,所以它包含 template:some_template,或者 Marionette.Layout 扩展,如果它们本身也包含区域的话
所以,至于你的照片小图是ItemView大图是Layout,里面包含了很多region,每个region包含了widget,也就是ItemView。
Layout 在初始化时接收 model:some_model(Layout 是 ItemView 的扩展)
关于javascript - Backbone Marionette : Reusable UI Elements,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18987682/
哪些原则、代码质量、实践、方法、语言或框架特性可帮助您在更广泛的情况下有效地重用函数、类等。所有情况都很有趣:您可以修改代码的实现和接口(interface)以启用/改进重用,或者只修改实现,或者什么
我很想知道人们如何组织他们的代码库,特别是关于可重用组件。我在下面谈论 OO 术语,但我也对您如何为其他类型的语言组织库感兴趣。 例如: 您是所有类库项目的忠实拥护者,还是更喜欢将所有内容都保存在一个
我经常编写一次性代码(在 research environment 中) - 例如探索科学属性或过程的算法或模型。许多这些“实验”是一次性的,但有时我发现我需要稍后使用。例如,我刚刚发现了我 7 年前
每个人都喜欢谈论可重用性。在我工作的地方,每当有人提出或测试一些新想法时,总是会出现可重用性的问题。 “我们希望最大限度地提高我们在这方面的投资,让它可重复使用。” “可重用性将以更少的工作带来更高的
我认为这是个愚蠢的问题,但是有没有办法将“if”语句用作可重用函数 success: function(msg){ if(msg=='o'){ $j('#ok').s
情况是这样的:我正在开发一个相对较大的 C++ 程序(在 Linux 中)。这个程序可以分为两部分。 A 部分只是一堆基于一些数据的预计算,这些数据随着时间的推移保持不变,构建了一个相当复杂的大数据结
有没有办法提取并参数化 Logback XML 配置的重复部分?我有许多不同的滚动文件附加器,除了文件名之外,配置基本相同。我将其与一堆关闭“可加性”的记录器结合使用,这样我就可以将堆栈的不同部分重定
如果我有一个在两个 Tibco 项目中使用的子流程,重用它的最佳方式是什么? 目前我正在复制两个项目中的子流程,但这会导致代码重复,难以维护。 最佳答案 或者,如果您使用的是 BusinessWork
如果我有一个在两个 Tibco 项目中使用的子流程,重用它的最佳方式是什么? 目前我正在复制两个项目中的子流程,但这会导致代码重复,难以维护。 最佳答案 或者,如果您使用的是 BusinessWork
是否可以制作一个可重用的 xml 代码,其中包含一些 javascript?像导入或包含。我的问题是我需要编写不同的 xml 文件并且几乎都是一样的,改变的只是一些属性。任何最佳实践?谢谢彼得罗 最佳
我是 asp.net 的新手,所以这可能是一个非常基本的问题,但我无法弄明白。 我在互联网上找到了一些连接到数据库的代码。我创建了一个命名空间和一些类,以便在不同的项目中使用相同的代码。 代码和我的类
刚刚开始使用 Angular: 我想创建一个共享配置单例,其中包含例如服务端点的baseURL。 Angular 中的模式是什么? 最佳答案 我建议使用类似常量 https://docs.angula
我正在学习 angularjs 并开发几个应用程序(同时,老板的命令)。 我的所有应用程序都有一些与初始化相关的常见任务,但我不知道如何使这些任务成为可重用模块(是的,也许我是个菜鸟)。我研究了很多,
阅读讨论后 How to create generic/reusable code with Scrum?我想到了我在可重用组件方面的经历。 我创建了几个在其他项目中成功重用的“技术组件”。 我还创建
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 7 年前。 Improve
在过去的几个小时里,我一直在尝试自己完成这项工作,并使用 Google 寻找解决方案,但无济于事。 因此,如果您能提供帮助,我将不胜感激! 基本上我有一个页面,在“预览模式”下有 3 个独立的传记,它
我正在尝试在 PDO 中创建可重用的代码。 这是我的代码。 $myClass = new main_c(); $condition = "email_address = :email_address
我有一个 JTable,它的行数不断增加(可能是无限多)。避免高内存使用的解决方案是将内容“缓存”到文件中,并根据当前滚动条光标位置从该文件中检索页面/数据 block 。另一个“额外”问题是根据列值
这是问题所在,当我使用 TableViewController 并在选定的单元格上添加行为时。该行为显示两次 我怎样才能避免这种情况? // MARK: - Table Deleget overrid
我正在构建一个网络应用程序,它有一组功能,用户可能会执行几次,但涉及足够多的异步操作,回调会变得有点失控。 $.Deffered 和 $.when 可以多次“使用”的现实替代方案是什么? 我不是在寻找
我是一名优秀的程序员,十分优秀!