我使用node.js,express和jade製作了一個非常簡單的待辦事項列表應用程序(以下注釋中的教程)。該應用程序的作品,使我可以將項目添加到列表中,並保存到redis數據庫,其id等於列表項的名稱。如何使用Jade模板從Redis數據庫中刪除html列表項?
現在我該如何編輯我的玉石模板,以便刪除按鈕出現在列表項旁邊,當我點擊它時,那麼項目將從數據庫中刪除?
下面是相關代碼:
Routes.js文件
exports.index = function(req, res){
res.render('index', { title: 'Welcome to JSPlayground Todo' });
};
var redis = require("redis"),
client = redis.createClient();
exports.todo = function(req, res){ //Pulls items from database to display on page
var todos = [];
client.hgetall("Todo", function(err, objs) {
for(var k in objs) {
var newTodo = {
text: objs[k]
};
todos.push(newTodo);
}
res.render('todo', {
title: 'New Todo List',
todos: todos
});
});
};
exports.saveTodo = function(req, res) { //Saves a list item from input box to database
var newTodo = {};
newTodo.name = req.body['todo-text'];
newTodo.id = newTodo.name.replace(/ /g, '');
//console.log(newTodo.id);
//console.log(newTodo.name);
client.hset("Todo", newTodo.id, newTodo.name);
res.redirect("back");
};
todo.jade文件
h1 new todo list
form(action="/save", method="post")
p
label Enter a new todo item
input(type='text',placeholder='new todo', name='todo-text')
p
input(type='submit', value='Save')
ul
each todo in todos
li #{todo.text}
如果我做模板頁面
a(href="/del") del
上的鏈接
and route/del to this fun文件
exports.delTodo = function(req, res) {
var delTodo = {};
delTodo.id = "Test";
client.hdel("Todo", delTodo.id);
res.redirect("back");
};
它將刪除ID爲「Test」的單個列表項。但我不知道如何讓它刪除被點擊的特定列表項。
p.s.我正嘗試從http://javascriptplayground.com/blog/2012/06/node-express-todo-app-redis/修改教程以添加此新功能 – nearpoint