我有一个 VueJS 组件<managed-list>,我在同一个模板中使用了两次来显示两组不同的数据。每个都显示在自己的<section>容器中,使用v-if导航选项卡进行切换。
似乎这些组件被实例化为同一个实例。我调用组件console.log()的created钩子,并在页面加载时收到一条消息到控制台。但是,当我用 Tab 键显示另一个数据表时,相应的模板v-if会呈现,但created钩子不会再次触发。
我的理解是,v-if在模板中使用语句时,组件被正确创建和销毁。但这似乎并没有发生在我的情况下。难道我做错了什么?
<template>
<div>
<ul class="nav nav-tabs">
<li class="nav-item">
<router-link class="nav-link" :class="{active: $route.params.tab=='reports'}" to="reports">Reports</router-link>
</li>
<li class="nav-item">
<router-link class="nav-link" :class="{active: $route.params.tab=='snippets'}" to="snippets">Snippets</router-link>
</li>
</ul>
<section v-if="$route.params.tab == 'reports'">
<h2>Reports</h2>
<managed-list
:imports-disabled="true"
prop-delete-endpoint="ReportTemplate/delete"
prop-resource-url="ReportTemplate"
:prop-fetch-url="'ReportTemplate/filter?filters='+reportFilter"
prop-edit-action="/reports/templates/edit/{?}">
</managed-list>
</section>
<section v-else-if="$route.params.tab == 'snippets'">
<h2>Snippets</h2>
<managed-list
:imports-disabled="true"
prop-delete-endpoint="ReportTemplate/delete"
prop-resource-url="ReportTemplate"
:prop-fetch-url="'ReportTemplate/filter?filters='+snippetFilter"
prop-edit-action="/reports/templates/edit/{?}">
</managed-list>
</section>
</div>
</template>
<script>
import ManagedList from "./ManagedList"
import bus …Run Code Online (Sandbox Code Playgroud) 我有一个 div,我试图在 div 中现有的 h3 和 p 元素之前插入几个元素(h3 和 p)。insertBefore ( http://www.php.net/manual/en/domnode.insertbefore.php )的 PHP 文档说这正是应该发生的情况,但它不是在现有元素之前插入,而是替换里面的所有现有元素我的“内容”分区。
这是我的代码:
$webpage = new DOMDocument();
$webpage->loadHTMLFile("news.html");
$headerelement = $webpage->createElement('h3', $posttitle);
$pelement = $webpage->createElement('p', $bodytext);
$webpage->formatOutput = true;
$webpage->getElementById('content')->insertBefore($headerelement);
$webpage->getElementById('content')->insertBefore($pelement);
$webpage->saveHTMLFile("newpost.html");
Run Code Online (Sandbox Code Playgroud)
我确信我只是不明白一些事情......任何帮助将不胜感激,谢谢。