今天我們來實現部落格的檢視, 修改, 刪除功能.
上一次我們已經實現了寫部落格, 發布部落格, 然後回到首頁顯示所有部落格. 但是呢, 我們還不能點進去檢視部落格的具體內容, 也不能對部落格進行什麼操作.今天我們就來搞定這個.
首先以檢視部落格為例分析一下實現的思路, 很明顯邏輯應該是:
在views資料夾新建模板檔案, 顯示部落格內容.
然後, 在index.js新增路由規則, 在routes資料夾新建相應路由檔案. 用post模型提供的方法, 對資料庫操作, 進行邏輯處理.然後返回資料渲染模板.
同理, 刪除操作和修改也是乙個道理.
開啟index.ejs, 給部落格標題新增鏈結. **是這樣地.
class="post-list">
<% if(!posts.length) %>
<% posts.foreach(function(post, index) ) %>
div>
div>
可以看到, 我們傳遞了三個引數, 作者的名字, 標題, 和發布的時間, 這樣就可以唯一確定乙個部落格了. 然後在views資料夾新建模板檔案
class="post-item">
class="options">
href="/u/<%= post.author %>/<%= post.title%>/<%= post.time.till_minute%>"
class="title link">
<%= post.title %>
a>
<% if(user) %>
<% }%>
div>
class="info">
for="author">作者label>
class="author link info-tag"
href="/u/<% post.author%>">
<%= post.author %>
a> |
for="time">時間label>
class="time info-tag">
<%= post.time.till_minute %>
span>
class="tags">
<% post.tags.foreach(function(tag, index) ) %>
div>
div>
class="content-wrap">
<%= post.content %>
p>
div>
article>
我們可以看到我們只對部落格發布者顯示編輯和刪除按鈕, 這是合乎邏輯的.另外要注意的是, 模板的資料名稱和後端要一致, 這是前後端對接的很重要的乙個環節. 如果你出現模板提示錯誤說某個資料未定義,那麼一般就是後端返回資料和前端資料不統一導致的.
然後, 我們要在model/post.js新增乙個方法getone來從資料庫拿到某某一篇文章.**如下:
post.getone = function
(author, title, time, callback)
var doc = ;
collection.findone(doc, function
(err, post)
return callback(null, post);
});});
};
然後在routs資料夾新建article.js, 新增以下**var post = require(『../model/post』);
var express = require(『express』);
var router = express.router();
router.get('/', function
(req, res)
post.getone(req.params.name, req.params.title, req.params.time, function
(err, post)
res.render('article', );
});});
});
通過今天的工作, 我們對前後端對接的流程走了一遍, 重點在於資料介面的統一. 今天的**在day04
(今天的逼就裝到這裡,謝謝大家)
不完全型別
c 允許在乙個 檔案中存放多個類,但這樣往往不便於類的管理,所以一向是提倡乙個檔案中只存放乙個類。不過呢,隨著類規模的不斷膨脹,乙個檔案中存放乙個類也有些顯得臃腫,或者是在某個角度上不便於 的組織。因此,c 2.0中引入了不完全型別的概念,即啟用了新的修飾符partial。借助該修飾符,我們可以在多...
不完全型別
不完全型別指 函式之外 型別的大小不能被確定的型別 總結一下,c的型別分為 結構體的宣告就是乙個不完全型別的典型例子。struct woman tag struct man tag struct woman tag 這樣是沒問題的。如果將man tag結構中的struct woman tag wif...
不完全型別
有時候我們在一些編譯器寫 的時候會碰見不完全型別這個編譯錯誤,那麼什麼是不完全型別,為啥會出現呢 不完全型別指 函式之外 型別的大小不能被確定的型別 只能以有限方式使用。不能定義該型別的物件。不完全型別只能用於定義指向該型別的指標及引用 1 或者用於宣告使用該型別作為形參型別或者返回值型別。c的型別...