javascript - 错误:test_project/views/index.hbs:缺少助手:“ifCond”
问题描述
我正在尝试使用 registerHelper() 方法创建一个自定义块助手ifCond,但它作为Missing helper: "ifCond"引发错误。
下面给出了代码-
test_project/app.js
const express = require('express')
const app = express()
const Handlebars = require('handlebars')
todolist = [
{
task: 'Task 1',
status: 'Todo'
},
{
task: 'Task 2',
status: 'In Progress'
}
]
Handlebars.registerHelper("ifCond", function(key, value, options) {
return (key==value) ? options.fn(this) : options.inverse(this)
})
app.use(express.urlencoded({extended:true}))
app.set('view engine', 'hbs')
app.get('/', (req, res)=>{
res.render('index', {
title: 'Todolist',
todolist
})
})
app.post('/', (req,res)=>{
todolist.push({
task: req.body.task,
status:req.body.status
})
res.redirect('/')
})
app.listen(1111, ()=>{
console.log('server started at http://localhost:1111')
})
test_project/views/index.hbs
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Todolist SSR</title>
</head>
<body>
<h1>{{title}}</h1>
<form action="/" method="post">
<input type="text" name="task" id="task" placeholder="Enter the task">
<select name="status" id="status">
<option value="Todo">Todo</option>
<option value="In Progress">In Progress</option>
<option value="In Review">In Review</option>
<option value="Done">Done</option>
</select>
<input type="submit" value="Submit">
</form>
<br>
<br>
<table id="display">
<thead>
<tr>
<th>Todo</th>
<th>In Progress</th>
<th>In Review</th>
<th>Done</th>
</tr>
</thead>
<tbody>
{{#each todolist as |todo|}}
{{#ifCond todo.status "Todo"}}
<tr><td>{{ todo.task }}</td><td></td><td></td><td></td></tr>
{{else}}
{{#ifCond todo.status "In Progress"}}
<tr><td></td><td>{{ todo.task }}</td><td></td><td></td></tr>
{{else}}
{{#ifCond todo.status "In Review"}}
<tr><td></td><td></td><td>{{ todo.task }}</td><td></td></tr>
{{else}}
<tr><td></td><td></td><td></td><td>{{ todo.task }}</td></tr>
{{/ifCond}}
{{/ifCond}}
{{/ifCond}}
{{/each}}
</tbody>
</table>
</body>
</html>
错误:test_project/views/index.hbs:缺少助手:“ifCond”
请让我知道我在哪里犯错。我真的很感激任何形式的帮助。
解决方案
推荐阅读
- apache-flink - Flink InvalidProgramException:作业以分离模式提交。作业执行的结果,如累加器、运行时等不可用
- azure - ADF 将查找活动输出转换为列表
- python - numpy 中如何实现多维数组切片/索引?
- java - 在android的下载器库中实现密码的问题
- java - Fortify 扫描在日志中打印字符串时显示错误
- javascript - 承诺失去自定义功能
- spring-mvc - 在 HttpServletRequest 中找不到从浏览器发送的 Cookie
- sql - oracle物化视图日志中的复合分区
- html - 即使窗口小于图像的宽度,如何在 CSS 中修复图像的高度
- c++ - GLFW,使用 glClear 从屏幕左上角的奇数偏移