Backbone.js Backbonejs:从集合中单击模型 define(['jquery'、'下划线'、'backbone'、'text!views/manageUsers.tpl'、'common'],function($,\ux,backbone,tmpl\u manageUsersView,ajax){ /* *模块列表 * *tmpl_page1View模板/tmpl_page1View.html */ var manageUsersView=Backbone.View.extend({ //使用下划线模板方法设置视图的模板属性 模板:u.template(tmpl_manageUsersView), //视图构造函数 初始化:函数(){ self=这个; }, //查看事件处理程序 活动:{ }, //将视图的模板呈现到UI render:function(){ this.$el.html(this.template({data:this.templateData})); user=Backbone.Model.extend({ 默认值:{ 姓名:“, 密码:“”, 伊萨明:错 }, }); users=Backbone.Collection.extend({ 型号:用户, url:“auth” }); usersCollection=新用户(); usersCollection.fetch({ 错误:函数(响应,xhr){ 控制台日志(响应); }, 成功:功能(响应){ 计数=1; _.每个(数据、功能(d){ 如果(计数%2==0) $(“#users>tbody”).append(“+count+”+d.username+”); 计数++; }); /*--*/ var oTable=$(“#用户”).dataTable({ “sDom”:“
首先,将此事件添加到视图中:Backbone.js Backbonejs:从集合中单击模型 define(['jquery'、'下划线'、'backbone'、'text!views/manageUsers.tpl'、'common'],function($,\ux,backbone,tmpl\u manageUsersView,ajax){ /* *模块列表 * *tmpl_page1View模板/tmpl_page1View.html */ var manageUsersView=Backbone.View.extend({ //使用下划线模板方法设置视图的模板属性 模板:u.template(tmpl_manageUsersView), //视图构造函数 初始化:函数(){ self=这个; }, //查看事件处理程序 活动:{ }, //将视图的模板呈现到UI render:function(){ this.$el.html(this.template({data:this.templateData})); user=Backbone.Model.extend({ 默认值:{ 姓名:“, 密码:“”, 伊萨明:错 }, }); users=Backbone.Collection.extend({ 型号:用户, url:“auth” }); usersCollection=新用户(); usersCollection.fetch({ 错误:函数(响应,xhr){ 控制台日志(响应); }, 成功:功能(响应){ 计数=1; _.每个(数据、功能(d){ 如果(计数%2==0) $(“#users>tbody”).append(“+count+”+d.username+”); 计数++; }); /*--*/ var oTable=$(“#用户”).dataTable({ “sDom”:“,backbone.js,underscore.js,backbone.js-collections,Backbone.js,Underscore.js,Backbone.js Collections,首先,将此事件添加到视图中: <div class="content"> <p> </p> <h3></h3> <div class="admin-login-area ui-corner-all"> <p class="validateTips">All form fields are required.</p> <form id="addUserForm">
<div class="content">
<p> </p>
<h3></h3>
<div class="admin-login-area ui-corner-all">
<p class="validateTips">All form fields are required.</p>
<form id="addUserForm">
<fieldset>
<label for="name" class="login-label">User Name</label>
<input type="text" name="u-name" id="u-name" class="text ui-widget-content ui-corner-all">
<label for="name" class="login-label">Password</label>
<input type="password" name="p-name" id="p-name" class="text ui-widget-content ui-corner-all">
<label for="email" class="login-label">Retype Password</label>
<input type="password" class="text ui-widget-content ui-corner-all" id="c-name" name="c-name">
<input type="checkbox" id="isAdmin" />
<label>Is Admin</label>
<label class="login-label"></label>
<br/>
<input type="button" name="submit" id="submit" value="Submit" class="submit-btn">
<input type="button" name="submit" id="reset" value="Reset" class="submit-btn">
<input type="button" name="submit" id="cancel" value="Cancel" class="submit-btn">
<label class="login-label"></label>
</fieldset>
</form>
<!-- end admin login --></div>
<div class="table" >
<table width="100%" cellspacing="0" cellpadding="0" border="0" id="users">
<thead>
<th>Sr No</th>
<th>users</th>
<th>Actions</th>
</thead>
<tfoot style="display: table-header-group;">
<tr>
<th></th>
<th></th>
<th></th>
</tr>
</tfoot>
<tbody>
</tbody>
</table>
</div>
然后将id更改为id='“+d.username+”
,而不使用edit
和delete
最后是编辑和删除方法:
events : {
'click .edit-iocn' : 'edit', // in your code you typed `iocn` instead of `icon`
'click .delete-icon' : 'delete'
}
请阅读
Backbone.js的文档
我想link会回答您关于如何在集合中调用fetch的问题我已经看过了,我在fetch调用成功后得到了响应,但问题是我不知道如何使用此集合填充表格,以及在点击表格中的项目时如何单击模型?您必须构建一个视图并将集合传递给该视图,然后根据您的集合填充该视图确定我已更正它,然后单击项目如何获取整个模型?一旦您拥有username
,您就可以搜索您的集合:userscolection.where({name:username});我不确定您是否在模型中使用了名称或用户名。Get d模型,但它将在0:r\u更改:false\u事件:Object\u挂起:false\u previousAttributes:Object属性:Object更改:Object cid:“c2”集合:r proto:s构造函数:函数(){返回I.apply(这是参数)}默认值:Object proto:Object length:1 proto:Array[0]此格式如何从中获取用户名idAdmin和密码?我忘了告诉您,usersCollection.where()
返回一个模型数组,所以您必须这样做usersCollection.where({name:username})[0]
var user=usersCollection.where({name:username})[0];user.get('password')
events : {
'click .edit-iocn' : 'edit', // in your code you typed `iocn` instead of `icon`
'click .delete-icon' : 'delete'
}
edit: function(event) {
var username = event.currentTarget.id;
var user = usersCollection.where({name: username})[0];
...
}
delete: function(event) {
var username = event.currentTarget.id;
var user = usersCollection.where({name: username})[0];
...
}