【发布时间】:2021-02-02 06:20:11
【问题描述】:
我正在开发基于 CMS 的 vue 页面。在页面中,我有一个根容器,里面有两个子容器,如下所示
<div id="app">
<div class="above-the-fold">...</div>
<div class="below-the-fold noscript-container">
<noscript>
<div v-if="true">{{someDynamicBinding}}</div>
<div v-if="false">{{someDynamicBinding}}</div>
</noscript>
</div>
</div>
如果启用了 javascript,我将删除 noscript 标记并使用以下脚本将内部内容附加到父元素。
document.addEventListener("DOMContentLoaded", function () {
const appendContents = function () {
const noScript = document.querySelector(".noscriptcontainer noscript");
const belowContent = noScript.innerHTML;
noScript.parentElement.innerHTML += belowContent;
console.log("elm appended");
window.removeEventListener("scroll", appendContents);
noScript.remove();
console.log("eve removed");
};
window.addEventListener("scroll", appendContents);
});
现在的问题是 vue 没有评估 v-if 或 {{dynamicBinding}}
jsfiddle链接https://jsfiddle.net/69yr3mp5/2/
现在完成这项工作的最佳方法是什么?
【问题讨论】:
标签: javascript typescript vue.js vuejs2 vuejs3