Backbone.js 如何构建backbonejs应用程序-单击每个表行backbonejs上的事件
我正在开发一个应用程序,其中一个模板呈现一个有n行的表。现在,在每一行中,我都有一列,列中有编辑和删除等按钮 单击“编辑”时,某个分区的同一窗口中会出现一个编辑表单。该表单需要使用从后端获取的值填充 这里面没什么了不起的。 我的问题是: 我有一个使用以下模板结构呈现完整表的视图:Backbone.js 如何构建backbonejs应用程序-单击每个表行backbonejs上的事件,backbone.js,underscore.js,Backbone.js,Underscore.js,我正在开发一个应用程序,其中一个模板呈现一个有n行的表。现在,在每一行中,我都有一列,列中有编辑和删除等按钮 单击“编辑”时,某个分区的同一窗口中会出现一个编辑表单。该表单需要使用从后端获取的值填充 这里面没什么了不起的。 我的问题是: 我有一个使用以下模板结构呈现完整表的视图: <script type="text/template" id="ledgersing"> <div class="span6 widget"> <div class="widg
<script type="text/template" id="ledgersing">
<div class="span6 widget">
<div class="widget-header">
<span class="title">Ledgers</span>
<button class="btn btn-danger pull-right" id="addLedgerButton">Add Ledger</button>
</div>
<div class="widget-content">
<table width="100%" class="table table-striped dataTable">
<thead>
<tr><th>Name</th><th>Email</th><th>Phone</th><th>Action</th></tr>
</thead>
<tbody>
<% _.each(ledgers,function(data){ %>
<tr>
<td><%= data.name %></td>
<td><%= data.email %></td>
<td><%= data.contact_number %></td>
<td><span onClick="alert(<%= data.id %>)">x</span></td>
</tr>
<% }) %>
</tbody>
</table>
</div>
</div>
</div >
</script>
账本
添加分类账
NameEmailPhoneAction
x
在这种情况下,它只是在单击x时提醒id。现在我需要像这样使用onClick事件吗?我的意思是,无论我使用什么构造进行处理,我都需要id。什么是更好的解决方案?我知道,如果应用程序结构正确,backbonejs可以轻松处理这一混乱局面。
所以本质上我想从专家那里知道,在这种情况下他们会怎么做。他们将如何构造应用程序?我是这个前端框架的新手。不要使用
。在模板中,我会使用每个表行的一个视图,因为每个视图都有一些复杂性(编辑、删除)
在这些视图中,可以使用事件
散列来注册DOM事件。千万不要在HTML中使用onclick
,这是一种非常糟糕的做法
请毫不犹豫地查看一下,以了解如何组织应用程序。而不是使用。在模板中,每个表行都有一个视图,因为每个视图都有一些复杂性(编辑、删除)
在这些视图中,可以使用事件
散列来注册DOM事件。千万不要在HTML中使用onclick
,这是一种非常糟糕的做法
不要犹豫,看看下面的文章,寻找如何组织应用程序的想法。我也是第一次开发主干应用程序,也犯了同样的错误
首先,我尝试将我的php/asp/ruby/which_server_side_template_技术翻译成下划线模板,得到了与您所拥有的非常相似的东西
现在我意识到这是个错误。您应该使用子视图。事件和关联模型将连接到该子视图。很快,你就会有很多的视图来监听事件,并在数据发生变化时进行自我更新,但如果你很小心的话,就可以了
这是我正在开发的一个演示应用程序:
以下是github回购协议:
我就是这样解决的:我也是第一次开发一个主干应用程序,并且犯了完全相同的错误
首先,我尝试将我的php/asp/ruby/which_server_side_template_技术翻译成下划线模板,得到了与您所拥有的非常相似的东西
现在我意识到这是个错误。您应该使用子视图。事件和关联模型将连接到该子视图。很快,你就会有很多的视图来监听事件,并在数据发生变化时进行自我更新,但如果你很小心的话,就可以了
这是我正在开发的一个演示应用程序:
以下是github回购协议:
我就是这样解决的:一个简单的问题:我可以预见,我会有很多模板视图等。我担心的是,如果我一开始就加载所有的模板代码、查看代码,应用程序将非常繁重。你也需要你的建议。好吧,你可以把你的模板放在外部文件中,然后通过Ajax加载它们。您可能需要查看有关如何构建应用程序的更多详细信息。您可以提供一个使用ajax加载模板的示例吗?您只需要使用basic(如果您直接从文件工作而不使用任何服务器,则可能需要将数据类型设置为“text”),考虑使用Yeoman来运行支持AMD的主干模板。一旦你有了这个,你可以用Require.js加载你的模板。这将通过用于本地开发的ajax加载它们,但将为您提供构建脚本,以便将模板组合到用于生产的JS中。我担心的是,如果我一开始就加载所有的模板代码、查看代码,应用程序将非常繁重。你也需要你的建议。好吧,你可以把你的模板放在外部文件中,然后通过Ajax加载它们。您可能需要查看有关如何构建应用程序的更多详细信息。您可以提供一个使用ajax加载模板的示例吗?您只需要使用basic(如果您直接从文件工作而不使用任何服务器,则可能需要将数据类型设置为“text”),考虑使用Yeoman来运行支持AMD的主干模板。一旦你有了这个,你可以用Require.js加载你的模板。这将通过用于本地开发的ajax加载这些模板,但将为您提供构建脚本,以便将模板组合到用于生产的JS中。是的,正确。我以前为每一行创建了单独的视图。谢谢,没错。我以前为每一行创建了单独的视图。谢谢