我对 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(使用前将#替换为@)