gpt4 book ai didi

riot.js - Riot JS卸载页面中的所有标签,然后仅安装一个标签不起作用

转载 作者:行者123 更新时间:2023-12-05 00:59:28 27 4
gpt4 key购买 nike

我正在使用 Riot JS,在我的 index.html 中,我有 3 个自定义标签 - 标题、登录面板和候选面板在我的 body 内。在我的主 app.js 中,在 $(document).ready 的回调函数中,我执行当前路由并注册一个路由更改处理函数。在我的 switchView 中,我卸载了所有自定义标签,然后尝试仅安装与正在切换的当前 View 相关的标签。这是我的代码。如果我卸载,则页面上不会显示任何内容

索引.html

<body>
<header label="Hire Zen" icon="img/user-8-32.png"></header>
<login-panel class="viewTag" id="loginView"></login-panel>

<candidates-panel id="candidatesView" class="viewTag"></candidates-panel>
<script src="js/bundle.js"></script>
</body>

应用程序.js
function switchView(view) {
if(!view || view === '') {
view = 'login'
}
//unmount all other panels and mount only the panel that is required
//TODO: unmount all view panels and mounting only required panel is not working
//riot.unmount('.viewTag')
riot.mount(view+'-panel')
$('.viewTag').hide()
$(view+'-panel').show()
}

$(document).ready(function () {
RiotControl.addStore(new AuthStore())
RiotControl.addStore(new CandidatesStore())
riot.mount('header')
//register route change handler
riot.route(function (collection, id, action) {
switchView(collection)
})
riot.route.exec(function (collection, id, action) {
switchView(collection)
})
})

最佳答案

riot.js v2.1.0 的答案:

功能

riot.unmount(...)

据我所知,不可用。但是,您可以卸载保存的标签。
mytag.unmount(true) 

Source

诀窍是记住已安装的标签以便以后能够卸载它们:
var viewTag = riot.mount(document.getElementById('viewTag'))
viewTag.unmount(true)

您可以将所有这些 View 标记存储在一个对象中并循环它们以卸载所有并仅安装事件的标记。

Source

关于riot.js - Riot JS卸载页面中的所有标签,然后仅安装一个标签不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30826491/

27 4 0