javascript - vue單一文件style裡scoped無效,求指教原因。
仅有的幸福
仅有的幸福 2017-05-19 10:27:37
0
3
1172

a.vue

#
<template>
    <p>
        <button class="btn btn-primary">11a.vue</button>
    </p>
</template>
<style scoped>
    @import '../css/bootstrap.css';
    
</style>

b.vue

#
<template>
    <p>
        <button class="btn btn-primary">b.vue</button>
    </p>
</template>
<style scoped>
    
</style>

但是在訪問b.vue的時候卻附帶了boostrap的樣式,scoped沒起隔離作用域的效果?

#
仅有的幸福
仅有的幸福

全部回覆(3)
phpcn_u1582

我猜啊,是@import的原因

首先我們來看看vue-loader的scoped的原理:
https://vue-loader.vuejs.org/...

b頁面帶有bootstrap的樣式只能說明bootstrap的css沒有經過vue-loader處理,然後我又去搜了以下postcss和@import關鍵字,然後發現了postcss-import插件:
https://www. npmjs.com/package...

我覺得你把這個插件用上的話應該可以解決問題,但我沒測試,純屬猜測

过去多啦不再A梦

你找下b的父級頁面,一級一級往上找,一定是那個頁面引用了

大家讲道理

@import '../css/bootstrap.css';去掉;
换成<style src="../css/bootstrap.css" scoped></style>就好了

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!