添加文章管理和编辑页面路由
客户端核心代码(aside.art):为客户端添加链接(注意这里的链接是相对服务器访问地址localhost:3000所以写服务器对应路由即可)
currentLink是实现用户点击哪个就让哪个属性选中。
其中选中样式的改变:我们通过给选中的标签加active属性
如何判断选中与否?通过客户访问服务器端路由给对应路由添加一个变量用于存储值,根据存储值(currentLink)得不同
<div class="aside fl">
<ul class="menu list-unstyled">
<li>
<a class="item {{currentLink=='user'? 'active' :''}}" href="/admin/user">
<span class="glyphicon glyphicon-user"></span>
用户管理
</a>
</li>
<li>
<a class="item {{currentLink=='article'? 'active' :''}}" href="/admin/article">
<span class="glyphicon glyphicon-th-list"></span>
文章管理
</a>
</li>
</ul>
<div class="cprt">
Powered by <a href="http://www.itheima.com/" target="_blank"></a>
</div>
</div>
服务器端核心代码
在这个属性(req.app是根据请求创建的服务器)下添加值.locals,添加属性=值。 我们可以让客户端拿到。
(article.js)
module.exports = (req, res) => {
//给服务器一个属性值用于客户段判断当前显示在用户还是文章
req.app.locals.currentLink = 'article';
//将模板渲染给用户界面
res.render('admin/article');
}
(userPage.js)
//引入用户模板
const { User } = require('../../model/user');
module.exports = async (req, res) => {
//给服务器一个属性值用于客户段判断当前显示在用户还是文章
req.app.locals.currentLink = 'user';
注意
这里active要带单引号,因为它是字符串(如果字符串不用带’'我们怎么区别空呢)