不完全node實踐教程 第四發

2021-07-11 09:43:49 字數 2146 閱讀 3886

今天我們來實現部落格的檢視, 修改, 刪除功能.

上一次我們已經實現了寫部落格, 發布部落格, 然後回到首頁顯示所有部落格. 但是呢, 我們還不能點進去檢視部落格的具體內容, 也不能對部落格進行什麼操作.今天我們就來搞定這個.

首先以檢視部落格為例分析一下實現的思路, 很明顯邏輯應該是:

在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的型別...