为什么需要
<!-- dom.ejs -->
<div><%= parameter %></div>
问题:当使用时不传入 parmeter参数的时候会报错
ReferenceError: parameter is not defined
设置默认值方法1:通过 <% %> 控制流标签的if else设置。
注意:由于使用的是ejs-loader加载器
- 只能使用
var
不支持const let
- 不支持
&&
短路操作 和()?:
三元运算
<!-- 改造 dom.ejs -->
<%
if(parmeter){}else{var parmeter = '这是一个div'}
%>
<div><%= parameter %></div>
方法2:通过 js中间操作
创建对应js文件
优点:
- js文件 语法上不会受到ejs-loader 的限制扩展性更好
// script.js
import dom from './dom.ejs'; // 引入对应的ejs文件
// 默认参数对象
const domData = {
parmeter: '这是一个div'
},
// 返回 接受参数对象 并输出 模板的方法
const moduleExport = (parObj)=>{
return dom(Object.assgin(dataData,parObj))// 通过覆盖同名属性的方法设置默认值
};
export default moduleExport;
使用时引用js文件即可。有点类似柯里化的思路。
网友评论