欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Vue.js大总结

程序员文章站 2022-09-14 17:33:21
Vue.js大总结 vue渐进式的理解 vue可以开发很多插件,可以把很多插件组合到一起,渐进的增加vue的功能 update beforeUpdated 在这两个钩子中不要修改data数据,否则会死循环, 因为数据修改后update会执行,执行后又会修改数据,如此便会死循环 data data为什 ......

vue.js大总结

vue渐进式的理解

vue可以开发很多插件,可以把很多插件组合到一起,渐进的增加vue的功能 

update beforeupdated

在这两个钩子中不要修改data数据,否则会死循环,
因为数据修改后update会执行,执行后又会修改数据,如此便会死循环

data

data为什么要是一个函数而不是一个属性?

因为要保证每一个实例都有一个属于自己的作用域

v-model

注意的问题

1、v-model是个语法糖(它是由v-bind和v-on结合体,原理是利用这两个实现)
2、v-model在自定义组件上的使用(文档)

props验证

1、告诉使用你组件的开发人员该传什么类型的参数
2、三种验证方式

修饰符

.sync

在子组件中可修改父组件传递的值(虽然一般不允许)

ref 和 refs

refs相当于一个钩子,能勾到定义了ref的组件,可以用实现父组件拿到子组件的数据并进行修改,
但一般不这么做,因为这么做破坏了单向数据流,
我们应该进行父子组件传参,拿到参数后进行保存在data中在进行修改

混入mixin

  • 尽量避免全局混入,

开发插件

流程及规则

1、vue.use()使用插件

2、开发插件
myplugin.install = function (vue, options) {
  // 1. 添加全局方法或属性
  vue.myglobalmethod = function () {
    // 逻辑...
  }

  // 2. 添加全局资源
  vue.directive('my-directive', {
    bind (el, binding, vnode, oldvnode) {
      // 逻辑...
    }
    ...
  })

  // 3. 注入组件
  vue.mixin({
    created: function () {
      // 逻辑...
    }
    ...
  })

  // 4. 添加实例方法
  vue.prototype.$mymethod = function (methodoptions) {
    // 逻辑...
  }
}

生产环境的部署

前后端不分离发布(ngin中间服务器)

单元测试

typescript

vue 2.0写ts很艰难,vue3.0将会改善,并直接引入类的概念

vue router

$route 和 $router

$route保存的路由的信息
$router上挂在是路由的方法

虚拟dom

逐层比较要改变后的dom
比较后在内存中更改
更改后再次逐层比较

服务端渲染 ssr框架

vue在服务器端的渲染(node.js举例)

1、装载服务端渲染依赖包 yarn add vue-server-renderer
2、装载vue的包 yarn add vue
3、引入vue并实例化vue(不用挂在el,因为实在后端)
4、引入vue-server-renderer并创建实例
5、....

服务端渲染框架 (nuxt

ant design vue (ui框架)

element ui (ui框架)