日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

vue-cli是官方提供的一個腳手架,用于快速生成一vue項目,有點類似JAVA中使用maven構建項目

需要環境

Node.js : http://nodejs.cn/download/ 安裝完后在windows的cmd窗口輸入 node -v及npm -v 如果有版本號,那么說明安裝成功 也可以安裝淘寶的鏡像,這樣下載的話會快很多,安裝淘寶鏡像后可以使用cnpm指令

# -g 全局安裝
npm install cnpm -g
npm config set registry https://registry.npm.taobao.org
npm install cnpm -g

安裝位置:C:UsersAdministratorAppDataRoamingnpm

安裝vue-cli

#在命令臺輸入
cnpm install vue-cli -g
#查看是否安裝成功
vue list

創建第一個vue-cli程序

1、在本地磁盤創建一個空文件夾用來存放項目 D:vuevuenote 2、使用控制臺在該目錄下執行創建vue應用程序指令

D:vuevuenote>vue init webpack first-vue
VUE入門教程

 

3、一路選擇no 4、進入項目目錄,安裝依賴

D:vuevuenote>cd first-vueD:vuevuenotefirst-vue>cnpm install

5、啟動項目

npm run dev

打開瀏覽器輸入 http://localhost:8080/

VUE入門教程

 

webpack

webpack是一個現代JavaScript應用程序的靜態模塊打包器(module bundler)。當webpack處理應用程序時,它會遞歸地構建一個依賴關系圖(dependency graph),其中包含應用程序需要的每個模塊,然后將所有這些模塊打包成一個或多個bundle.

webpack的使用

1、在本地磁盤上創建一個空目錄,并使用idea打開

2、按如下結構創建目錄和文件

VUE入門教程

 

3、在hello.js暴露一個sayhai的方法

exports.sayHai=function () {    document.write("<h1>hello world</h1>")}

4、在main.js導入該方法

var hello=require('./hello')hello.sayHai()

5、在webpack.config.js中配置打包

module.exports={    entry:'./modules/main.js',    output:{        filename:'./js/bundle.js'    }}

6、在idea控制臺運行 webpack指令 運行webpack指令后,會在當前項目的生成dist/js/bundle.js 7、在index.html中引入bundle.js文件

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Title</title></head><body>    <script src="dist/js/bundle.js"></script></body></html>

Vue-Router路由

Vue Router是Vue.js官方的路由管理器(路徑跳轉)。它和Vue.js的核心深度集成,讓構建單頁面應用變得易如反掌。

安裝路由

使用idea在當前項目的控制臺上輸入指令

cnpm install vue-router --save-dev

路由的使用

1、在component目錄下創建一個vue組件Content.vue

import Vue from 'vue'
import VueRouter from 'vue-router'
import Content from "../components/Content";
//安裝路由
Vue.use(VueRouter);
export default new VueRouter({
  routes:
    [
      {
        //路由路徑
        path: '/content',
        name: 'content',
        //跳轉的組件
        component: Content
      }
    ]
})

2、在當前項目下創建router目錄,router目錄下創建用來配置路由的配置文件index.js index.js內容如下:

import Vue from 'vue'
import VueRouter from 'vue-router'
import Content from "../components/Content";
//安裝路由
Vue.use(VueRouter);
export default new VueRouter({
  routes:
    [
      {
        //路由路徑
        path: '/content',
        name: 'content',
        //跳轉的組件
        component: Content
      }
    ]
})

3、在App.vue中配置請求路由

<template>
  <div id="app">
    <img src="./assets/logo.png">
    //請求路由
    <router-link to="/content">內容頁</router-link>
    //路由結果在此處展示
    <router-view></router-view>
  </div>
</template>
<script>
export default {
  name: 'App',
  components: {
  }
}
</script>
<style>
#app {
  font-family: 'Avenir', Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
  margin-top: 60px;
}
</style>

vue+elementUI

vue配合elementUI可以使我們的頁面更加美觀

elementUI的使用

1、創建一個新的vue項目

vue init webpack vue_element

2、安裝插件(vue-router、element-ui、sass-loader、node-sass)

# 進入工程目錄
cd vue_element
# 安裝 vue-router
npm install vue-router --save-dev
# 安裝 element-ui
npm i element-ui -S
# 安裝依賴
npm install
# 安裝 SASS 加載器
cnpm install sass-loader node-sass --save-dev
# 啟動測試
npm run dev

3、創建一個Login.vue組件,內容如下:

<template>
  <div>
    <el-form ref="loginForm" :model="form" :rules="rules" label-width="80px" class="login-box">
      <h3 class="login-title">歡迎登錄</h3>
      <el-form-item label="賬號" prop="username">
        <el-input type="text" placeholder="請輸入賬號" v-model="form.username"/>
      </el-form-item>
      <el-form-item label="密碼" prop="password">
        <el-input type="password" placeholder="請輸入密碼" v-model="form.password"/>
      </el-form-item>
      <el-form-item>
        <el-button type="primary" v-on:click="onSubmit('loginForm')">登錄</el-button>
      </el-form-item>
    </el-form>
    <el-dialog
      title="溫馨提示"
      :visible.sync="dialogVisible"
      width="30%"
      :before-close="handleClose">
      <span>請輸入賬號和密碼</span>
      <span slot="footer" class="dialog-footer">
        <el-button type="primary" @click="dialogVisible = false">確 定</el-button>
      </span>
    </el-dialog>
  </div>
</template>
<script>
  export default {
    name: "Login",
    data() {
      return {
        form: {
          username: '',
          password: ''
        },
        // 表單驗證,需要在 el-form-item 元素中增加 prop 屬性
        rules: {
          username: [
            {required: true, message: '賬號不可為空', trigger: 'blur'}
          ],
          password: [
            {required: true, message: '密碼不可為空', trigger: 'blur'}
          ]
        },
        // 對話框顯示和隱藏
        dialogVisible: false
      }
    },
    methods: {
      onSubmit(formName) {
        // 為表單綁定驗證功能
        this.$refs[formName].validate((valid) => {
          if (valid) {
            // 使用 vue-router 路由到指定頁面,該方式稱之為編程式導航
            this.$router.push("/main");
          } else {
            this.dialogVisible = true;
            return false;
          }
        });
      }
    }
  }
</script>
<style lang="scss" scoped>
  .login-box {
    border: 1px solid #DCDFE6;
    width: 350px;
    margin: 180px auto;
    padding: 35px 35px 15px 35px;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    box-shadow: 0 0 25px #909399;
  }
  .login-title {
    text-align: center;
    margin: 0 auto 40px auto;
    color: #303133;
  }
</style>

4、配置路由

import Vue from 'vue'
import VueRouter from 'vue-router'
import Login from "../components/Login";
//安裝路由
Vue.use(VueRouter)
export default new VueRouter({
  routes:[
    {
      path:'/login',
      name:'login',
      component:Login
    }
  ]
})

5、在main.js引入路由和elementUI

// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App'
import router from './router'
//導入elementUI
import ElementUI from "element-ui"
//導入element css
import 'element-ui/lib/theme-chalk/index.css'
Vue.config.productionTip = false
Vue.use(router);
Vue.use(ElementUI)
/* eslint-disable no-new */
new Vue({
  el: '#app',
  router,
  render: h => h(App),//ElementUI規定這樣使用
})

6、在App.vue中請求路由

<template>
  <div id="app">
        <router-link to="/login">登錄</router-link>
        <router-view></router-view>
  </div>
</template>
<script>
export default {
  name: 'App',
  components: {
  }
}
</script>
<style>
#app {
  font-family: 'Avenir', Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
  margin-top: 60px;
}
</style>

7、測試 npm run dev

VUE入門教程

 

注意:如果項目運行失敗,可以在package.json里降低sass-loader和node-sass的版本

"sass-loader": "^7.3.1",
"node-sass": "^4.9.0",

嵌套路由

簡單說就是在路由里再套一個子路由

1、創建一個作為子路由Profile.vue組件

<template>
    <h1>用戶列表</h1>
</template>
<script>
    export default {
        name: "List"
    }
</script>
<style scoped>
</style>

2、Main.vue里請求路由

<template>
  <div>
    <el-container>
      <el-aside width="200px">
        <el-menu :default-openeds="['1']">
          <el-submenu index="1">
            <template slot="title"><i class="el-icon-caret-right"></i>用戶管理</template>
            <el-menu-item-group>
              <el-menu-item index="1-1">
                <!--插入的地方-->
                <router-link to="/user/profile">個人信息</router-link>
              </el-menu-item>
              <el-menu-item index="1-2">
                <!--插入的地方-->
                <router-link to="/user/list">用戶列表</router-link>
              </el-menu-item>
            </el-menu-item-group>
          </el-submenu>
          <el-submenu index="2">
            <template slot="title"><i class="el-icon-caret-right"></i>內容管理</template>
            <el-menu-item-group>
              <el-menu-item index="2-1">分類管理</el-menu-item>
              <el-menu-item index="2-2">內容列表</el-menu-item>
            </el-menu-item-group>
          </el-submenu>
        </el-menu>
      </el-aside>
      <el-container>
        <el-header style="text-align: right; font-size: 12px">
          <el-dropdown>
            <i class="el-icon-setting" style="margin-right: 15px"></i>
            <el-dropdown-menu slot="dropdown">
              <el-dropdown-item>個人信息</el-dropdown-item>
              <el-dropdown-item>退出登錄</el-dropdown-item>
            </el-dropdown-menu>
          </el-dropdown>
        </el-header>
        <el-main>
          <!--在這里展示視圖-->
          <router-view />
        </el-main>
      </el-container>
    </el-container>
  </div>
</template>
<script>
  export default {
    name: "Main"
  }
</script>
<style scoped lang="scss">
  .el-header {
    background-color: #B3C0D1;
    color: #333;
    line-height: 60px;
  }
  .el-aside {
    color: #333;
  }
</style>

3、測試

VUE入門教程

 

參數傳遞

參數傳遞過程:url請求路徑—->路由接收參數—->跳轉套組件顯示參數

1、url請求路徑

<router-link :to="{name:'Profile',params:{id:1} }">個人信息</router-link>

2、路由接收參數

方式一:

 {path:'/user/profile/:id',name:'Profile',component:Profile},

方式二:

{path:'/user/profile/:id',name:'Profile',component:Profile,props:true}

3、組件模板展示參數

方式一:

{ {$route.params.id} }

方式二:

<template>
  <div>
      { {id} }
    </div>
</template>
<script>
    export default {
    //接收路由傳過來的id
        props:['id'],
        name: "Profile"
    }
</script>
<style scoped>
</style>

路由鉤子與異步請求

路由模式

hash:路徑帶 # 符號(默認),如 http://localhost/#/login history:路徑不帶 # 符號,如 http://localhost/login

路由鉤子與異步請求

beforeRouteEnter:在進入路由前執行 beforeRouteLeave:在離開路由前執行 類似于過濾器,在進入模板前可以使用路由鉤子進行異步請求數據,并在模板展示

<template>
  <div>
      { {info.url} }
    </div>
</template>
<script>
    export default {
        props:['id'],
        name: "Profile",
      beforeRouteEnter:(to,from,next)=>{
          console.log("進入頁面之前");
          next(vm=>{
           //進入路由之前執行getData方法
            vm.getData()
          });
      },
      beforeRouteLeave:(to,from,next)=>{
          console.log("離開頁面之前")
        next();
      },
      //返回請求的數據
      data(){
        return{
          info:{
          }
        }
      },
      methods:{
          getData:function () {
          //使用axIOS異步請求數據
            this.axios({
              method:'get',
              url:'http://localhost:8080/static/mock/data.json'
            }).then(res=>(this.info=res.data))
          }
      }
    }
</script>
<style scoped>
</style>

分享到:
標簽:VUE
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定