zoukankan      html  css  js  c++  java
  • 【VUE3.0体验】升级VUE3.0,并新建项目

    前言,去年刚学了VUE2.0,结合去年学的技术栈 .net core 3.1,IdentityServer4、Docker建立的微服务框架,再配合ElementUI做了一个后台管理项目,前后端分离,前段时间用uniapp写了一个微信小程序,还没深入,清明小长假准备看看去年更新的vue3技术,别的不说了,先开始吧。

    使用的是MAC系统,安装步骤如下:

    npm install -g @vue/cli 

    新建项目

    vue create vuedemo

    后面的 cd vuedemo,npm install 这些根据提示安装即可。

    下面说一下新出来的特性 setup和Composition API 

    在components文件夹中新建一个新组件,hello1.vue

    在app.vue中将hello1.vue换成起始界面

    然后做一个列表显示,并可以添加的功能,代码如下

    <template>
      <div v-for="(item, index) in state.users" :key="item.id">
        <div>{{ index }}--{{ item.name }}</div>
      </div>
      <input type="button" value="测试" @click="adduser" />
    </template>
    <script>
    import { reactive } from "@vue/reactivity";
    export default {
      name: "hello1",
      setup() {
        let state = reactive({
         users: [
           {
             id: 1,
             name: "a1",
             sex: "男",
           },
           {
             id: 2,
             name: "a2",
             sex: "女",
           },
           {
             id: 3,
             name: "a3",
             sex: "男",
           },
         ],
       }); //reactive用来存放数据,感觉相当于data,简单数据可以用ref,
       function adduser() {
         state.users.push({ id: 4, name: "a4", sex: "女" });
       }
        return { state, adduser };//抛出后可以让外界使用
      },
    };

    下一步,可以将里面的逻辑代码提出来

    <template>
      <div v-for="(item, index) in state.users" :key="item.id">
        <div>{{ index }}--{{ item.name }}</div>
      </div>
      <input type="button" value="测试" @click="adduser" />
    </template>
    <script>
    import { reactive } from "@vue/reactivity";
    export default {
      name: "hello1",
      setup() {
        let {state,adduser) = UserManage();
    };
    function UserManage()
    {
         users: [
           {
             id: 1,
             name: "a1",
             sex: "男",
           },
           {
             id: 2,
             name: "a2",
             sex: "女",
           },
           {
             id: 3,
             name: "a3",
             sex: "男",
           },
         ],
       }); //reactive用来存放数据,感觉相当于data,简单数据可以用ref,
       function adduser() {
         state.users.push({ id: 4, name: "a4", sex: "女" });
       }
        return { state, adduser };//抛出后可以让外界使用
     }

    这时候就有意思,将逻辑代码另写成文件如何,这里再调用。

    在src目录中新建bll目录,新建 user.js文件 

    --bll/user.js
    import { reactive } from "@vue/reactivity";
    //这里说一下,exprot后面写default时,被调用,也就是被import时,不需要加大括号,否则需要加大括号。 export
    function UserManage() { let state = reactive({ users: [ { id: 1, name: "a1", sex: "男", }, { id: 2, name: "a2", sex: "女", }, { id: 3, name: "a3", sex: "男", }, ], }); function adduser() { state.users.push({ id: 4, name: "a4", sex: "女" }); } return { state, adduser }; }

    逻辑提出以后,修改vue文件 

    -- hello.vue
    <template>
      <div v-for="(item, index) in state.users" :key="item.id">
        <div>{{ index }}--{{ item.name }}</div>
      </div>
      <input type="button" value="测试" @click="adduser" />
    </template>
    <script>
    import { UserManage } from "../bll/user";
    export default {
      name: "hello1",
      setup() {
        let { state, adduser } = UserManage();
        return { state, adduser };
      },
    };
    </script>

    好了,先研究到这里,后面花点时间争取把原来的项目升级成vue3。

  • 相关阅读:
    C语言 · 字符串输入输出函数
    C语言 · 判定字符位置
    剑指offer二之替换空格
    剑指offer一之二维数组中的查找
    算法复杂度:时间复杂度与空间复杂度
    二分查找法
    信息熵
    K-means算法的原理、优缺点及改进(转)
    office2013安装与卸载
    Deep Learning (中文版&英文版)
  • 原文地址:https://www.cnblogs.com/youyuan1980/p/14618675.html
Copyright © 2011-2022 走看看