关于Vuex的应用

在store下的index.js文件中通过引入Vuex和Vue库来创建一个Vuex store,并定义了一个名为status的状态对象,以及一些可以修改该状态对象的mutation函数。
首先,使用import语句将Vuex和Vue库引入到当前模块中。然后,使用Vue.use(Vuex)命令让Vue库使用Vuex插件。这个命令告诉Vue库,它需要在实例化Vue应用程序之前安装Vuex插件。
接着,定义了一个名为status的状态对象,该对象包含一个名为rollNowData的空对象。mutations变量是一个对象,其中包含一些函数,每个函数都会修改status对象的属性,从而更新应用程序的状态。例如,loginStatusSuccess函数接受两个参数:status和isLoading。当调用此函数时,它将更新status.isLoadingStatus属性的值为isLoading参数的值。
最后,通过export default new Vuex.Store({})语句创建一个新的Vuex store,并将status和mutations作为参数传递给它。这个store可以被其他组件或模块引用并使用。
this.$store.commit('updateLoadingStatus', false)是一个在Vue.js中使用Vuex store的mutation的示例。这行代码调用了名为updateLoadingStatus的mutation函数,传递了一个boolean值false作为参数来更新store中的状态。
具体来说,该代码行从当前组件的this上获取到$store对象,然后调用它的commit方法来触发一个mutation。第一个参数'updateLoadingStatus'是要触发的mutation的名称,第二个参数false是要传递给mutation函数的有效负载(payload)。在这种情况下,false将被传递给updateLoadingStatus mutation函数,该函数将store中名为isPageLoading的状态属性设置为false。这样,当mutation执行完毕时,store中的状态将被更新,并且任何订阅(store.subscribe)了该状态的组件都会收到通知并进行相应的重新渲染(re-render)。
关于接口API的另外一种写法
在平时练习中,把BaselUrl写在和api分别写在文件中,尤其是小的API,单独命名调用。这样在小的项目中完全可以,但是涉及到公司企业级别的项目时,有成千上万个接口的时候,我们难道要给每个接口取名吗?答案当然是否定的,于是我们的写法可以在单页面中,要使用到接口的地方进行一个请求调用:



该函数名为postUserMove,接受一个参数value,用于传递需要提交到服务器的数据。
在函数体内,首先构造了一个包含请求方法、请求数据以及其他相关配置信息的postData对象。这个postData对象将作为参数传递给this.$http.getApi()方法,以便发送HTTP请求。其中,op对象的属性指定要访问的API的URL地址,loadingConfig对象指定加载的相关配置信息,data对象则包含了需要提交到服务器端的数据。
接下来,代码调用this.$http.getApi()方法,并传递postData对象作为参数。该方法返回一个Promise对象,可以通过.then()方法添加成功响应的处理函数。在这种情况下,当请求成功时,会打印出响应数据(resData),并检查是否存在Code等于1的属性。如果存在,将弹出一条消息提示,告诉用户人员调动成功,并将用户移动对话框关闭。
less和sass的区别:
Less和Sass都是流行的CSS预处理器,它们可以让开发者使用类似于编程语言的结构来编写更加灵活、可维护性更高的CSS代码。两者的主要区别在以下几个方面:
-
语法风格:Less采用了CSS类似的语法结构,而Sass则采用了自己的独特语法。如
Less中使用@符号表示变量,而Sass中使用$符号表示变量。 -
编译方式:Less使用JavaScript作为它的编译器,这意味着它可以在客户端和服务端都运行。Sass使用Ruby作为它的编译器,因此需要在服务器端运行。
-
语言特性:Sass相对于Less提供了更多的功能,例如条件语句、循环等,这使得开发者可以编写更加复杂的样式表。然而,由于Less使用类似于CSS的语法,因此易于学习和使用。
-
生态系统:Less和Sass都有庞大的社区支持,并且有许多插件和框架可以与之一起使用。但是,由于Sass已经存在更长时间并且具有更多的功能,因此它的生态系统可能会更加成熟。
总体而言,Less和Sass都是优秀的CSS预处理器,它们可以大大提高CSS代码的可维护性和可读性。选择哪一个通常取决于开发者的个人喜好和项目需求。
less具体用法例子:

引入三个概念:
SaaS是Software as a Service(软件即服务)的缩写,是一种云计算服务模式,指的是通过网络向用户提供基于订阅的软件应用程序和服务。在SaaS模式下,软件提供商负责所有软件的运行、管理和维护,用户只需要通过网络连接就可以使用这些软件功能,而不必担心底层的硬件和软件架构。这种服务模式通常以月度或年度订阅的方式收费,并提供灵活的支付选项、自动化升级和扩展等特点。
PaaS是Platform as a Service(平台即服务)的缩写,是一种云计算服务模式,指的是向用户提供一个完整的应用程序开发和部署平台。在PaaS模式下,云服务提供商会为客户提供开发、测试、部署和运行应用程序所需的硬件和软件基础设施,包括操作系统、数据库、Web服务器等,并且还提供了各种应用程序开发工具和API接口,以便用户可以快速、方便地构建和部署自己的应用程序。这种服务模式通常以付费订阅的方式提供,并且根据用户的实际使用情况收费。
多租户是指一种软件架构模式,其中单个实例的软件系统服务多个客户或租户。每个客户/租户都可以独立地访问和使用该软件系统,并且各个客户/租户之间的数据和配置信息相互隔离。这种架构模式通常应用于云计算、软件即服务(SaaS)等场景中。
Falsy 是一个 JavaScript 中的概念,表示一个值被当作布尔值时会被视为 false。
JavaScript 中的 falsy 值有:
- false
- 0
- -0
- 0n (BigInt)
- ""
- null
- undefined
- NaN (not a number)
EventBus 是一种在应用程序中进行事件通信的机制,可以用来传递值。下面是 EventBus 传值的基本步骤:
创建一个 Vue 实例作为 EventBus:const bus = new Vue();
在发送方组件中,使用 $emit 方法触发一个自定义事件,并携带需要传递的数据data:
bus.$emit('eventName', data);
在接收方组件中,使用 $on 方法监听该自定义事件,并在回调函数中获取传递的数据:
bus.$on('eventName', (data) => { // 处理传递的数据 });
如何强行改变elementUI的样式:
1.使用 !important 语句
在 CSS 中使用 !important 语句可以覆盖掉其他规则的样式。例如:
.el-button {
color: red !important;
}
2.修改 Element UI 的 SCSS 变量
Element UI 提供了大量的 SCSS 变量,可以在项目中修改这些变量来改变元素的外观。在项目中创建一个 variables.scss 文件,然后导入 Element UI 的 _variables.scss 文件,并在其中修改变量。例如:
@import 'element-ui/packages/theme-chalk/src/variables'; $--color-primary: #ff0000;
3.使用 deep selector(::v-deep)
在 Vue 中,可以使用 ::v-deep 伪选择器来访问子组件中的元素。例如:
>>> .el-button { color: green; }
或者:
::v-deep .el-button { color: green; }
是同样的效果!!
文章介绍了Vuex在状态管理中的应用,包括创建store、定义状态对象和mutation函数。同时,讨论了API调用的组织方式,如在需要时动态调用。此外,提到了Less和Sass的区别,以及它们在CSS预处理中的作用。最后,简述了SaaS、PaaS的概念以及多租户架构,并提及JavaScript中的Falsy值和EventBus在组件通信中的使用。

被折叠的 条评论
为什么被折叠?



