账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    这是什么回事,vux-ui为什么会有这么多重复的 class
    57
    0
    使用的是 vue + vux-ui,这个是 ,每个引入的 vux-ui 组件 都会有很多重复的 class ,几十个 也太夸张了吧。重复的css导致打包后 体积剧增!package.json 依赖信息{ "name": "vue_project_wap", "version": "0.1.0", "private": true, "scripts": { "dev": "vue-cli-service serve", "build": "vue-cli-service build" }, "dependencies": { "@vux/loader": "^2.1.0", "axios": "^0.24.0", "core-js": "^3.6.5", "echarts": "^5.2.2", "less-loader": "^6.0.0", "swiper": "^4.5.1", "vue": "^2.6.11", "vue-awesome-swiper": "^3.1.3", "vue-router": "^3.2.0", "vue-seamless-scroll": "^1.1.23", "vuex": "^3.4.0", "vuex-i18n": "^1.13.1", "vuex-persist": "^3.1.3", "vux": "^2.11.1" }, "devDependencies": { "@vue/cli-plugin-babel": "~4.5.0", "@vue/cli-plugin-router": "~4.5.0", "@vue/cli-plugin-vuex": "~4.5.0", "@vue/cli-service": "~4.5.0", "less": "^4.1.2", "vue-template-compiler": "^2.6.11" }, "browserslist": [ "> 1%", "last 2 versions", "not dead" ]}
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 孤单一辈子° 普通会员 1楼

      在Vux UI库中,有许多重复的 class 声明是因为它的组件设计模式和组件注册机制导致的。Vux UI 的组件设计模式是一种基于组件的容器化设计模式,它通过将用户界面的元素分割成独立的组件,并将组件的属性和方法绑定到组件的类上,来实现组件之间的通信和复用。

      以下是Vux UI 中重复 class 声明的一些主要原因:

      1. 组件化设计模式: Vux UI 采用了组件化设计模式,将用户界面划分为一系列的组件,每个组件都负责一个特定的功能,例如输入框、按钮、下拉菜单等。每个组件都有其自身的样式和数据结构,因此在创建组件时,可以为每个组件指定唯一的类名,如下所示:

      javascript const Form = { name: 'form', props: { formField: { type: String, required: true, }, }, methods: { handleInputChange(e) { this.formField = e.target.value; }, }, };

      在Vux UI 中,你可以创建一个组件实例,并使用其props属性来传递用户输入的字段信息和方法。然后,你可以为这个组件创建一个单独的类名,如下所示:

      javascript const InputBox = { props: { formField: { type: String, required: true, }, }, methods: { handleInputChange(e) { this.formField = e.target.value; }, }, };

      在Vux UI 中,每个组件都有其自己的类名,并且每个类名都对应着一个特定的组件实例。由于组件是通过其类名来引用的,所以在创建组件时,你可以为每个组件指定一个唯一的类名,然后在组件的构造函数中使用这个类名来创建组件实例,如下所示:

      javascript const FormComponent = { extends: Form, props: { formField: { type: String, required: true, }, }, methods: { handleInputChange(e) { this.formField = e.target.value; }, }, };

      在上述代码中,FormComponent 类继承自 Form 类,并且在props 属性中定义了一个额外的属性 formField,用于传递用户输入的字段信息。然后,它创建了一个单独的类名 FormComponent,并为这个类名在组件的构造函数中创建了组件实例。

      由于组件之间通过类名来通信和复用,因此每个组件都会继承相同的属性和方法,从而导致了大量的重复 class 声明。通过在每个组件的构造函数中使用唯一的类名,Vux UI 可以更好地组织和管理组件,减少重复的类名和类定义,提高代码的可读性和复用性。

    更多回答
    网站公告
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部