zoukankan      html  css  js  c++  java
  • Vue从零开发SPA项目

    所谓SPA(Single Page Application),就是单页面应用的意思。
    vue的亮点就是我们只需要关注数据的变化,下面演示一下从零开始创建一个独立项目,并且能自定义路由,提交表单。

    一、命令行创建项目

    使用vue-cli

    安装

    npm install vue-cli -g
    

    界面创建项目
    安装完成后运行

    vue ui
    

    打开http://localhost:8000,会看到如下界面

    *创建项目

    下一步,我选择了默认

    创建完后目录如下

    也可以直接用命令行创建

    vue create qionghe
    

    启动项目,更多请查看cli使用文档

    我们进入目录chenqionghe,执行npm run serve

     cd chenqionghe
    npm run serve
    

    打开界面如下http://localhost:8080/

    创建webpack项目

    安装

    npm i -g @vue/cli-init
    

    创建项目

    vue init webpack chenqionghe
    
    

    一路回车

    安装完成目录如下

    启动

    npm run dev
    

    打开http://localhost:8080/#/如下

    二、自定义路由

    关于路由的使用可以参考查看:router文档

    绝对路由

    新建路由文件Cqh.vue

    router/index.js引入这个新路由,并指定一个自己的路由

    访问:http://localhost:8080/#/cqh,看到如下结果

    这样我们就可以自定义路由了

    带参数的路由

    比如在后面加上:id,如下

    使用{{ $route.params.键名}}获取,如下

    运行结果

    可以看到,id已经能正常的获取和渲染了

    嵌套路由

    就是一个分组路由的概念,我们把component/Cqh.vue修改一下

    <template>
      <div class="hello">
        <router-link to="/cqh/testA">TestA</router-link>
        <router-link to="/cqh/testB">TestB</router-link>
        <router-view/>
      </div>
    </template>
    

    这个router-link就是使用路由的方式,这里我加了两上新路由/cqh/testA,/cqh/testB
    这个<router-view/>就是子路由要渲染的地方,再添加一个对应的子路由,如下

    访问http://localhost:8080/#/cqh,如下

    分别点击TestA和TestB,

    这里的页面切换非常平常,体验相当好!

    三、表单交互示例

    有路由了,咱们后端关注的还是数据交互,少不了表单,下面来个简单的示例TestForm,代码如下

    <template>
      <div class="hello">
        <h1>{{ name }}</h1>
    
        名字:<input type="text" v-model="form.name"/><br>
        年龄:<input type="text" v-model="form.age"/><br>
        性别:<input type="text" v-model="form.sex"/><br>
    
        <button @click="mySubmit">提交</button>
    
        <p>{{form.msg}}</p>
      </div>
    </template>
    
    <script>
      export default {
        data() {
          return {
            name: '雪山飞猪',
            form: {},
          }
        },
        methods: {
          mySubmit() {
            let msg = "您提交的数据是:" + JSON.stringify(this.form);
            this.$set(this.form, 'msg', msg)
          }
        }
      }
    </script>
    

    运行如下

    再提交一下数据,测试一下

    可以看到已经能拿到表单的数据了,有了表单数据,就可以自行请求接口了。

    正式项目可以考虑使用ElementUI来创建好看一点的页面

  • 相关阅读:
    打印沙盒路径
    iOS自定义组与组之间的距离以及视图
    iOS开发之地域选择
    设置按钮文字右对齐
    ios应用下架方法(说明)
    You've implemented -[<UIApplicationDelegate> application:didReceiveRemoteNotification:fetchCompletionHandler:], but you still need to add "remote-notification" to the list of your supported UIBackgrou
    iOS开发-模拟器的小常识
    iOS-本地的推送
    创建节点学习
    窥探一句话木马后门的背后
  • 原文地址:https://www.cnblogs.com/wjxzs/p/14239434.html
Copyright © 2011-2022 走看看