1. 字符串模板,使用注意事项
<ul>
<% for(var i = 0;i <list.length; i++) {%>
<li><span><%=list[i].name%></span> <span><%=list[i].age%></span></li>
<% }%>
</ul>
如上代码字符串内,不加=号不会渲染数据, 加=号与-的效果则是不同的,加等号不会渲染标签
2.Promise数据使用try catch进行接收,try是接收正确信息,catch是接收错误信息
try {
await ctx.render('edit', {
msg:msg[0]
})
}catch(err) {
ctx.redirect('/add')
}
3. 模板字符串中 {{}}与@的作用
在nodejs模板中使用{{}}直接读取传入json对象属性中的数据
<form action="/doEdit" method="POST">
用户ID:{{@msg._id}}
</br>
</br>
姓名: <input type="text" name="name" value="{{msg.name}}">
</br>
</br>
年龄:<input type="text" name='age' value="{{msg.age}}">
</性别>
</br>
</br>
性别: <select name="sex" value="{{msg.sex}}">
<option value="男">男</option>
<option value="女">女</option>
</select>
</br>
</br>
<input type="submit" value='提交'>
</form>
//浏览器中输出
用户ID:5ea232c14e153e6b3e06694f
姓名:
年龄:
性别:
4. 中间件添加样式
在对应的html文件中引入需要引入的样式
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel="stylesheet" href="./css/base.css">
</head>
再在配置的js文件中配置中间键
//中间件
// 相对路径
app.use(static('./static'))
// 绝对路径
app.use(static(__dirname+'/static'))
5.伪元素只能在容器上渲染,在input上不能使用,因为不能包含任何子元素
表单找那个autocomplete 的作用是否显示历史记录
6.node中引入子路由,子路由文件内必须使用routes将子路由映射出去
var router = require('koa-router')()
// 映射子路由
module.exports = router.routes()
7.在进行fs.writeFile写入文件时需要注意的事项
//如果是直接
fs.writeFile('写入路径',object,(err) => {
})
//此时写入文件中的是[object,object]
解决方法
fs.writeFile('./mange.json',JSON.stringify(result),(err) => {
if(err) {
console.log('admin中index.js写入文件错误',err)
return
}
})
//将对象转化为字符串在进行写入
8.字符串模板可以嵌套多层使用${}
if (d.status) {
return `<span class="layui-btn" onclick="app.toggle(this,'loginCollection',${d.status},'${d._id}')" style="width:50px;height:25px"><i class="fa fa-check" style="display:block;line-height:25px"></i></span>`
} else {
return `<span class="layui-btn layui-btn-danger" onclick="app.toggle(this,'loginCollection',${d.status},'${d._id}')" style="width:50px;height:25px"><i class="fa fa-check" style="width:50px;height:25px"><i class="fa fa-times" style="display:block;line-height:25px"></i></span>`
}