Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vue.js 基于route-Vue的完全独立的样式_Vue.js_Webpack_Vue Component - Fatal编程技术网

Vue.js 基于route-Vue的完全独立的样式

Vue.js 基于route-Vue的完全独立的样式,vue.js,webpack,vue-component,Vue.js,Webpack,Vue Component,我目前在main.js中为所有路由使用UI库,但我希望某些路由与UI库完全隔离,并具有自定义样式。我如何做到这一点 使用不起作用,因为我需要使用body标记 使用不起作用,因为如果我访问自定义样式路径并返回到正常路径,则自定义样式路径中的样式将继续 您可以使用,对于组件范围之外的任何内容,都可以使用JS 例如,如果您只希望主体具有特定路线的特定样式,则可以在创建的挂钩中添加样式,并在销毁之前挂钩中删除它们: created() { document.getElementsByTagNa

我目前在
main.js
中为所有路由使用UI库,但我希望某些路由与UI库完全隔离,并具有自定义样式。我如何做到这一点

  • 使用
    不起作用,因为我需要使用
    body
    标记
  • 使用
    不起作用,因为如果我访问自定义样式路径并返回到正常路径,则自定义样式路径中的样式将继续
您可以使用
,对于组件范围之外的任何内容,都可以使用JS

例如,如果您只希望
主体
具有特定路线的特定样式,则可以在
创建的
挂钩中添加样式,并在
销毁之前
挂钩中删除它们:

created() {
    document.getElementsByTagName("body")[0].style.padding = "20rem";
},
beforeDestroy() {
    document.getElementsByTagName("body")[0].style.padding = "0rem";
}
您甚至可以创建一个完整的样式表并将其附加到
标题中:

created() {
    const style = document.createElement("style");
    style.setAttribute("rel", "stylesheet");
    style.setAttribute("type", "text/css");
    style.innerHTML = "body { padding: 20rem }";
    document.getElementsByTagName("head")[0].appendChild(style);
},
beforeDestroy() {
    const head = document.getElementsByTagName("head")[0];
    head.removeChild(head.children[head.childElementCount - 1]);
}
只需确保在从路线导航时正确清理,因为如果,
head.children[head.childElementCount-1]
没有返回您附加的样式表,则最终可能会留下样式表。

您可以使用
,对于组件范围之外的任何内容,都可以使用JS

例如,如果您只希望
主体
具有特定路线的特定样式,则可以在
创建的
挂钩中添加样式,并在
销毁之前
挂钩中删除它们:

created() {
    document.getElementsByTagName("body")[0].style.padding = "20rem";
},
beforeDestroy() {
    document.getElementsByTagName("body")[0].style.padding = "0rem";
}
您甚至可以创建一个完整的样式表并将其附加到
标题中:

created() {
    const style = document.createElement("style");
    style.setAttribute("rel", "stylesheet");
    style.setAttribute("type", "text/css");
    style.innerHTML = "body { padding: 20rem }";
    document.getElementsByTagName("head")[0].appendChild(style);
},
beforeDestroy() {
    const head = document.getElementsByTagName("head")[0];
    head.removeChild(head.children[head.childElementCount - 1]);
}

只需确保在从路线导航时正确清理,因为如果出现以下情况,则最终可能会留下样式表:例如,
head.children[head.childElementCount-1]
不会返回您附加的样式表。

最好在您的帖子中包含更多关于您尝试过的内容和使用的库的信息。通过这种方式,你更有可能得到有用的帮助。在你的帖子中包含更多关于你尝试过的内容和你正在使用的库的信息可能是个好主意。这样你更有可能得到有用的帮助