我试图在我的node.js项目中创建动态包含在ejs页面中(使用<%- include('partials/content') %>
)。
有没有办法可以为要包含的页面创建变量并在按钮单击时更改它?
答案 0 :(得分:2)
我们假设您的partials/content
文件包含以下内容:
<h1>Lorem ipsum dolor sit amet</h1>
名为partials/content2
的文件:
<h1>consectetur adipiscing elit<h1>
您的主模板文件会使用标识为<div>
的{{1}}包裹部分内容,并包含一个脚本文件,您可以使用result
选择此<div>
,这样您就可以了把它放在一个变量中。然后,您可以在按钮上注册单击处理程序。单击时,您将请求所需的模板文件并替换内容。
主要模板:
var $result = $('#result');
然后你需要在后端有一个控制器,如:
<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
</head>
<body>
<div id="result">
<%- include partials/content.ejs %>
</div>
<button id="change">change</button>
<script>
var $result = $('#result');
$('#change').click(function() {
$result.load('/content2');
});
</script>
</body>
</html>