Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用前端javascript更改把手变量值_Javascript_Node.js_Handlebars.js - Fatal编程技术网

使用前端javascript更改把手变量值

使用前端javascript更改把手变量值,javascript,node.js,handlebars.js,Javascript,Node.js,Handlebars.js,我的目标是使用前端JavaScript文件更改Handlebar变量的值 后端JavaScript(app.js) .hbs文件 <button id="name" onclick="changeName()">{{name}}</button> 我知道你可以用: const changeName = () => { document.getElementById('name').innerHTML = 'Bob' } 但是我特别想更改handlebar变量值,

我的目标是使用前端JavaScript文件更改Handlebar变量的值

后端JavaScript(app.js)

.hbs文件

<button id="name" onclick="changeName()">{{name}}</button>
我知道你可以用:

const changeName = () => {
document.getElementById('name').innerHTML = 'Bob'
}
但是我特别想更改handlebar变量值,因为在我的实际代码中,它稍微复杂一些

谢谢

看看,在您的情况下,您可以创建一个帮助器来更改name变量,如下所示:

.哈佛商学院


{{title}}
{{{{nameheloper}}{{name}{{{/nameheloper}}
script.js

Handlebars.registerHelper('nameHelper', function(options) {
return new Handlebars.SafeString(
  '<div class="name">'
  + options.fn(otherName)
  + '</div>');
});
handlebar.registerHelper('nameheloper',函数(选项){
返回新把手。安全字符串(
''
+options.fn(其他名称)
+ '');
});
const changeName = () => {
document.getElementById('name').innerHTML = 'Bob'
}
<div class="entry">
<h1>{{title}}</h1>
 <div class="name">
  {{#nameHelper}}{{name}}{{/nameHelper}}
 </div>
</div>
Handlebars.registerHelper('nameHelper', function(options) {
return new Handlebars.SafeString(
  '<div class="name">'
  + options.fn(otherName)
  + '</div>');
});