发表于: 2019-11-19 23:00:55

1 1096


今天完成的事情:

前言:Vue的模板采用DOM模板,也就是它的模板可以当做DOM节点运行,在浏览器下不报错。绑定数据有三种方式,插值{{name}},v-model和v-bind。
v-bind:
    <p v-bind:class="classed">
       用法:后面加冒号,再跟上html元素的attributions。v-bind绑定了属性变量data.classed的值,当data.classed值发生变化的时候,class属性也发生变化。
v-model:
    v-model主要是用在表单元素中,它实现了双向绑定。
v-model是一种双向绑定,那么也就是说,你绑定的元素得有机会改变值。所以实际上v-model基本上只会用在input, textarea, select这些表单元素上。
  1. 11日学习记录
由于上次是测试发送请求渲染页面的,所以点击事件是乱写的,今天想先把这模块的顺序弄好,也就是点击列表直接出来数据,也是正确的流程。
这也就涉及到了组件之间是如何通信的,没错,仔细想想我还真不太清楚,要想先把这个问题解决了,就来认真的捋一捋。
今天学到一个单词,以后学习的时候单词是必不可少的一部分,现如今只能先死记硬背了,从明天开始一天学习10个单词试试,今天新学到的就是components,意思是组件。
今天今重点先学习一下组件之间传递数据怎么传递,今天学习富文本编辑器的时候忽然感到这一块的知识非常陌生,没有百度过。

vuex实现及简略解析(小结)


安装并使用store
store,意思是商店
在src下新建一个vuex.js文件,然后代码如下
'use strict'
let Vue = null
class Store {
constructor (options) {
  let { state, getters, actions, mutations } = options
}}// Vue.use(Vuex)const install = _Vue => {
// 避免vuex重复安装
if (Vue === _Vue) return
Vue = _Vue
Vue.mixin({
  // 通过mixins让每个组件实例化的时候都会执行下面的beforeCreate
  beforeCreate () {
   // 只有跟节点才有store配置,所以这里只走一次
   if (this.$options && this.$options.store) {
    this.$store = this.$options.store
   } else if (this.$parent && this.$parent.$store) { // 子组件深度优先 父 --> 子---> 孙子
    this.$store = this.$parent.$store
   }
  }
})}
export default { install, Store }
然后修改store.js中的引入vuex模块改成自己的vuex.js
import Vuex from './vuex' // 自己创建的vuex文件
在我们的代码中export default { install, Store }导出了一个对象,分别是install和Store
install的作用是,当Vue.use(Vuex)就会自动调用install方法,在install方法里面,我们用mixin混入了一个beforeCreate的生命周期的钩子函数,使得当每个组件实例化的时候都会调用这个函数。
在beforeCreate中,第一次根组件通过store属性挂载$store,后面子组件调用beforeCreate挂载的$store都会向上找到父级的$store,这样子通过层层向上寻找,让每个组件都挂上了一个$store属性,而这个属性的值就是我们的new Store({...})的实例。


明天计划的事情:

继续学习上传图片

收获:

今天比较水, 感觉学的东西进不到脑子里去。



返回列表 返回列表
评论

    分享到