USD - Scriptlets 是否支持传入参数?如何实现参数传递?
Scriptlet参数传递问题解答
结论
可以向Scriptlet传递参数,你期望使用的[[script.scriptname("blah")]]替换参数格式完全可以实现。
代码适配调整
你给出的示例代码只需调整函数名即可和你期望的调用格式匹配:
// 函数名对应调用时的scriptname,入参即为你传入的字符串参数 function scriptname(b){ // 此处编写对参数b的处理逻辑 return 处理后的返回值; } // 渲染/解析逻辑会自动将你传入的参数填充到此处完成调用 scriptname("blah")
注意事项
- 若你是在现有模板引擎、内容管理系统等现成工具中使用Scriptlet,只需保证你定义的Scriptlet函数名和调用时填写的
scriptname完全一致即可,参数会被工具自动注入 - 若你是自己实现Scriptlet解析逻辑,只需在解析到
[[script.xxx(yyy)]]格式的占位符时,提取括号内的参数传给对应xxx函数执行,再将函数返回值替换原占位符即可
内容的提问来源于stack exchange,提问作者gamatt
相关产品推荐
相关产品推荐

