Meteor其他事件的處理

NO IMAGE
1 Star2 Stars3 Stars4 Stars5 Stars 給文章打分!
Loading...

除了表單提交以外,還有我們日常用到的CRUD操作,對object操作的四個方法: Read/Insert/Update/Delete
Read這個在一開始的例子中就有說到的:db.object.find(),通過Tempalte.tempaltes.helpers給變數賦值,在html中使用模板語言對變數進行操作。
Insert在之前的from表單提交中介紹的就是Insert操作。

 Languages.insert({
name: text,
createdAt: new Date()
});

下面來說下其他的兩個操作UpdateDelete

增加Update和Delete的Button

先增加一個template名字叫做other_event,在這個模板中我們只展示3個objects,給每天object新增一個刪除和更新的按鈕。

<template name="other_event">
{{#each others}}
<li>
<h3>{{name}} ,{{updateAt}}</h3>
<button class="delete">delete</button>
<button class="update">update</button>
</li>
{{/each}}
</template>

在之前的表中並沒有updateAt這個欄位,這裡使用了mongodb(nosql)的一個優勢,靈活可變的資料模式(scheme),不需要變更表結構就可以隨意的增加欄位。
之前沒有updateAt資料的欄位在{{updateAt}}這個位置會顯示為””.

Update操作

 Template.other_event.events({
'click .update': function () {
Languages.update(this._id, {
$set: {updateAt: new Date()}
})
}
});

這裡給class為updatebutton新增一個事件,更新這個object的updateAt為當前時間。
這裡的this就是一個obejct物件,_id是Mongodb的自動的對每個插入的文件物件做的唯一個一個索引,Mongodb為保證其唯一自增長
使用$set可以給language物件賦值要更新的屬性.
同樣的我們可以開啟兩個瀏覽器,在其中的一個瀏覽器中點選更新按鈕,在兩個瀏覽器中都可以看到資料的更新。

css ,Fri Dec 18 2015 09:40:26 GMT 0800 (CST)

Delete操作

   Template.other_event.events({
'click .delete': function () {
Languages.remove(this._id);
};
});

通過主鍵_id對language物件進行刪除操作。同樣的我們也可以字兩個瀏覽器中進行觀察資料的更新。

專案地址:https://github.com/jjz/meteor/tree/master/meteor-form

相關文章

資料庫 最新文章