在 Sproutcore 2 中编写自定义控件

2024-04-17

我对 Sproutcore 相当陌生,但对 Handlebars 很熟悉。我已经浏览了 Todo 教程并查看了其他一些示例。

我喜欢它的一切,并且想在 Backbone 上使用它,但我很难理解如何连接自定义控件。我可以看到一些数据将在绑定中发挥作用,但我会迷失在触发事件中。

举个例子,如果我有一个链接列表,我想用它来过滤它下面的数据,我如何绑定到事件?我知道在骨干中你会使用事件和选择器:“click .link”

任何帮助将不胜感激!


听起来您想要循环遍历对象列表并创建链接,单击该链接时,会调用一些可以访问原始对象的 JavaScript 代码。

目前,最简单的方法是将模板上下文绑定到新的自定义视图。您可以在此 JSFiddle 中看到所有操作:http://jsfiddle.net/67GQb/ http://jsfiddle.net/67GQb/

模板:

{{#each App.people}}
    {{#view App.PersonView contentBinding="this"}}
    <a href="#">{{content.fullName}}</a>
    {{/view}}
{{/each}}

应用程序代码:

App = SC.Application.create();

App.Person = SC.Object.extend({
    fullName: function() {
        return this.get('firstName') + ' ' + this.get('lastName');
    }.property('firstName', 'lastName') 
});

App.people = [
    App.Person.create({ firstName: "Yehuda", lastName: "Katz" }),
    App.Person.create({ firstName: "Tom", lastName: "Dale" })
];

App.PersonView = SC.View.extend({
    mouseDown: function() {
        // Note that content is bound to the current template
        // context in the template above.
        var person = this.get('content');
        alert(person.get('firstName'));
    }
});

也就是说,我们知道这有点麻烦,并且有一些想法来进一步简化我们将在未来几周内开展的流程。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Sproutcore 2 中编写自定义控件 的相关文章

随机推荐

  • 如何解析此 Flickr 响应?

    我从 Flickr 的 api 站点中的示例响应中得到了这一点 jsonFlickrApi method content flickr test echo format content json api key content 8038f7
  • Play框架2.0.1不断尝试演化出错误的数据库类型

    我正在开发部署在 openshift DIY 应用程序上的 play 2 0 1 应用程序 我在数据库方面遇到了麻烦 因为游戏一直试图发展错误的数据库 我有一个 mysql 数据库 并且 play 创建一个 H2 数据库演化脚本 这是脚本
  • 将 uri 保存到共享首选项并使用媒体播放器播放

    这是我用来将 Uri 的字符串表示形式保存到 SharedPreferences 的代码 public void onActivityResult int requestCode int resultCode Intent data sup
  • Java 8 中使用了哪个 JAXB 版本?

    JAXB Java Architecture for XML Binding 已作为 Maven 工件发布 尽管它在 Java 8 以及具有选项的 Java 9 10 之前与 JRE 捆绑在一起 我的问题是 Maven Central 上的
  • 计算时间长

    这是我上一个问题的链接 它引导我找到了这个问题 C 嵌套 foreach 循环优化 https stackoverflow com questions 7729231 c nested foreach loop optimization 计
  • 为什么服务器控件在放置在内容标记内时会带有下划线?

    我有一个网络内容表单 其中包含Div以及各种服务器控件 例如DropDownList 当我运行该应用程序时 它运行良好 没有任何错误 但当我查看 HTML 源代码时 服务器控件带有红色下划线 将鼠标移过来时 说 DropDownList 会
  • Visual C# 2010 Express:为新类指定默认访问修饰符?

    每当我使用 Visual Studio 2010 Express C 创建新类时 它都会创建不带访问修饰符的新类 十分之九我希望我的新课程公开 如何让 Visual Studio 默认创建带有 public 修饰符的空类模板 诀窍是创建一个
  • 删除 numpy 数组的重复行[重复]

    这个问题在这里已经有答案了 如何删除二维的重复行numpy array data np array 1 8 3 3 4 1 8 9 9 4 1 8 3 3 4 答案应该如下 ans array 1 8 3 3 4 1 8 9 9 4 如果有
  • HSQLDB服务器模式用户名/密码

    如果我使用 Java 代码在服务器模式下启动 HSQLDB 则服务器启动不会出现任何问题 但是 当我尝试通过 Java 代码或通过 HSQLDB DatabaseManagerSwing 连接到相同的数据库时 我无法连接 我在仅内存模式下使
  • 通过API服务端点消费来自Kafka主题的消息

    目前 我有一个 API 服务端点 用 netcore6 C 编写 它将接受消息对象并将其保存到数据库 然后将该消息发布到 kafka topic 2 如何利用我的 API 服务端点始终监听 观看并连接到 kafka topic 1 一旦新消
  • 为什么`从. importviews`可以解决Flask中的循环导入吗? [复制]

    这个问题在这里已经有答案了 我从中学习更大的应用 http flask pocoo org docs 0 10 patterns packages 在这个文档中 它说 所有视图函数 顶部带有route 装饰器的函数 都必须导入到init p
  • NAudio - 更改缓冲麦克风音频的音高并发送到虚拟音频线

    我决定尝试使用 NAudio 和虚拟音频线创建一个与 Discord 或类似软件 一起使用的音板 我能够将音频从麦克风 注入 到音频电缆 这样我就可以通过选择虚拟音频电缆作为 Discord 中的输入设备来播放声音文件和麦克风音频到 Dis
  • 在类中初始化 static struct tm

    我想使用 tm 结构作为类中的静态变量 花了一整天的时间阅读和尝试 但它仍然无法工作 如果有人能指出我做错了什么 我将不胜感激 在我的课堂上 在公共下 我将其声明为 static struct tm dataTime 在main cpp中
  • ObservableCollection CollectionChanged 事件

    我有一个可观察的集合 并且在其上连接了一个 collectionChanged 事件 我将其项目绑定到用户界面中的列表框 当用户从列表框中删除 UI 中的某些项目时 CollectioChanged 会正确触发 但是 我需要知道已删除项目的
  • Android:使用 Admob 的 Consent SDK 获取用户位置

    我对 AdMob 的新功能有疑问 同意 SDK https developers google com admob android eu consent consent sdk the 整合指南 https developers googl
  • 相机框架相对于基准点的世界坐标

    我正在尝试确定世界坐标中的相机位置 相对于基于场景中找到的基准标记的基准位置 我确定 viewMatrix 的方法如下所述 确定相机姿势 https stackoverflow com questions 28335954 determin
  • 如何配置 Magento Enterprise 使用 Solr 作为主要搜索引擎?

    我尝试寻找文档 但它非常稀疏 我编写了以下指南 希望它可以帮助人们节省 2 3 个小时的安装 设置和配置时间 与 MySQL 全文搜索标准设置相比 使用 Solr 带来的性能提升非常惊人 在您的 Magento 安装中让它工作绝对值得花时间
  • 如何使用终端/cmd编译java项目

    我厌倦了使用 Eclipse 因为它太 简单 和 老式 所以我转向了一个名为 Sublime Text 3 的程序 并使用了一个名为 material theme 的包 这使得该程序看起来平坦且一切都很好 但我想用它来编写 Java 代码
  • 当我降级到 1.7 后执行 java -version 时,我仍然看到 Java 1.8

    我从 1 8 降级了 java 1 7 但降级时仍然看到 1 8java version 我改变了path并且还做了JAVA HOME1 7 更改为 JAVA HOME C Program Files x86 Java jdk1 7 0 7
  • 在 Sproutcore 2 中编写自定义控件

    我对 Sproutcore 相当陌生 但对 Handlebars 很熟悉 我已经浏览了 Todo 教程并查看了其他一些示例 我喜欢它的一切 并且想在 Backbone 上使用它 但我很难理解如何连接自定义控件 我可以看到一些数据将在绑定中发