我有一个客户端CMS div加载到脚本模板中。我需要在div中运行一个脚本。如何在此脚本标记内运行myFunction?它提前关闭了第一个脚本标签:(
<script type="text/html" id="tmpl-foo">
<div id="myCMSdiv">
<p> My Content </p>
<script>
myFunction();
</script>
</div>
</script>
答案 0 :(得分:0)
给出一些关于CMS如何绑定模板(JS文件)的上下文
如果您的CMS使用template
绑定,则可以使用afterRender
。
就像这样:
var viewModel = function() {
this.myFunction = function() {
console.log("test");
}
}
ko.applyBindings(new viewModel());
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script>
<div data-bind="template: { name: 'tmpl-foo', afterRender: myFunction }"></div>
<script type="text/html" id="tmpl-foo">
<div id="myCMSdiv">
<p>My Content</p>
</div>
</script>
有关template
绑定here的更多信息。
如果您的CMS将其用作component
,那么您需要另一种方法
检查这个post如何做,但要点与上面的相同。