在您看来,最好是过度使用 BackboneJS 并尽可能多地使用模板,还是应该简单地使用 JavaScript 来添加像字母过滤器这样的元素。
澄清:字母过滤器过滤结果[a],[b],[c]等以获得以a,b,c等开头的结果
在您看来,最好是过度使用 BackboneJS 并尽可能多地使用模板,还是应该简单地使用 JavaScript 来添加像字母过滤器这样的元素。
澄清:字母过滤器过滤结果[a],[b],[c]等以获得以a,b,c等开头的结果
纯 JavaScript 将是我在 1999 年的回答。
在 2013 年,您是否希望在没有 MVC 的情况下在 JavaScript 上实现某个功能(在本例中为 Backbone.js)?
使用普通 JavaSript 的字母过滤器等于重新发明轮子,使用 Backbone 只是过滤一个集合。
我没有疑问,使用 Backbone.js
这个问题是很久以前发布的,但是现在有一个开源的 vanilla JavaScript 插件可用,它可以按字母顺序过滤任何带有字母导航的 HTML 列表
它被称为AlphaListNav.js
只需输出您的 HTML 列表:
<ul id="myList">
<li>Eggplant</li>
<li>Apples</li>
<li>Carrots</li>
<li>Blueberries</li>
</ul>
在页面中添加 CSS <head>
:
<link rel="stylesheet" href="alphaListNav.css">
</body>
在结束标记之前添加 JavaScript 文件:
<script src="alphaListNav.js"></script>
然后通过将列表的 id 传递给列表中的 AlphaListNav 库来初始化它。像这样:
<script>
new AlphaListNav('myList');
</script>
它有各种不同的选项来定制你可能想要的行为:
例如:
<script>
new AlphaListNav('myList', {
initLetter: 'A',
includeAll: false,
includeNums: false,
removeDisabled: true,
//and many other options available..
});
</script>
GitHub 项目在这里
这里有一个 CodePen 示例
AlphaListNav.js 网站和文档在这里