我目前正在开发一个使用Jade作为模板引擎并使用Express将数据传递给Jade的Web应用程序。
说我有变量“book”来传递
res.render('book_detail',{book:book});
我想使用jQuery(我的前端jQuery存在于外部main.js文件中)而不是使用Jade来访问本书中的详细信息,例如book.author,book.pages等。我怎样才能做到这一点?
我已经尝试了其他人建议的各种方法,例如var myBook =!{JSON.stringify(book)}或者使用脚本将其变为javascript变量。 Jade中的语法,我甚至无法使用输出执行console.log!
请帮助我,因为我一直坚持使用这些并且似乎在Jade和jQuery(Javascript)之间共享一个快速变量很难实现......
答案 0 :(得分:6)
在您的Jade文件中,您可以输入:
script.
var book = '#{book}'
script(src='someFile.js')
现在,在 someFile.js 中,你可以像普通变量一样使用book:
$(document).ready( function() {
console.log(book.title);
});
答案 1 :(得分:0)
试试......
- var j = 'var book = '+JSON.stringify(book)
script !{j}
和window.book
将在客户端提供。