当前位置:   article > 正文

Vue基础(一)——入门_vue入门

vue入门

一、前端开发三大框架

1、Vue尤雨溪主导开发

2、React:脸书(Facebook)主导开发

3、Angular:谷歌主导开发

华人开发,入门简单,所以国内用Vue的较多。  

二、使用Vue的两种方式

1、直接引入vue.js文件

2、基于Node环境创建Vue项目(使用vue/cli创建初始化一个Vue项目)

三、Vue开始使用

1、下载vue.js

  1. <!-- 开发环境版本,包含了有帮助的命令行警告 -->
  2. <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>

2、index.html:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>index</title>
  8. </head>
  9. <body>
  10. <h1>hello world!</h1>
  11. <div id="app">
  12. <!-- 表达式 -->
  13. <h1>{{message}}</h1>
  14. </div>
  15. <!-- 开发环境版本,包含了有帮助的命令行警告 -->
  16. <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
  17. <script>
  18. // 创建Vue的实例
  19. new Vue({
  20. // 绑定id为app的元素
  21. el: "#app",
  22. // 数据
  23. data: {
  24. message: "hello Vue!"
  25. }
  26. })
  27. </script>
  28. </body>
  29. </html>

3、两种方式提供数据:

1、将数据直接写在标签里面 

2、使用Vue,来提供数据。

4、浏览器页面显示: 

 5、与DOM的区别:

DOM:先获取DOM,再操作节点。

Vue

        新建一个Vue实例,让div变成Vue实例的一个应用

        这个应用里面的标签,就可以用Vue来进行管理了。

        以后,就不用考虑DOM操作了,而是,只操作数据,让数据和页面的呈现进行一个绑定

        数据变,页面显示也会变。

四、常用基础用法

1、绑定文本:{{message}}

  1. {{message}}
  2. {{message + "你好"}}

2、绑定属性:v-bind

  1. <body>
  2. <h1>hello world!</h1>
  3. <div id="app">
  4. <h1>{{message + "你好"}}</h1>
  5. <img src="../picture/java.jpg" alt="">
  6. <img v-bind:src="url" alt="">
  7. </div>
  8. <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
  9. <script>
  10. new Vue({
  11. el: "#app",
  12. data: {
  13. message: "hello Vue!",
  14. url: "../picture/java.jpg"
  15. }
  16. })
  17. </script>
  18. </body>

显示:

v-bind:让Vue实例里面的数据,直接绑定标签属性值上。 

v-bind:是指令,可以简写: 

<img :src="url" alt="">

3、绑定事件:v-on

  1. <body>
  2. <h1>hello world!</h1>
  3. <div id="app">
  4. <h1>{{message + "你好"}}</h1>
  5. <img src="../picture/java.jpg" alt="">
  6. <img :src="url" alt="">
  7. <button v-on:click="sayHello">测试按钮</button>
  8. </div>
  9. <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
  10. <script>
  11. new Vue({
  12. el: "#app",
  13. data: {
  14. message: "hello Vue!",
  15. url: "../picture/php.jpg"
  16. },
  17. methods: {
  18. sayHello() {
  19. console.log("hello");
  20. }
  21. }
  22. })
  23. </script>
  24. </body>

 测试:

 v-on简写:

<button @click="sayHello">测试按钮</button>

五、案例一——点击按钮,改变图片

  1. <body>
  2. <div id="app">
  3. <img :src="url" alt="">
  4. <button @click="turn">改变图片</button>
  5. </div>
  6. <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
  7. <script>
  8. new Vue({
  9. el: "#app",
  10. data: {
  11. message: "hello Vue!",
  12. url: "../picture/java.jpg"
  13. },
  14. methods: {
  15. turn() {
  16. this.url = "../picture/php.jpg"
  17. }
  18. }
  19. })
  20. </script>
  21. </body>

测试:

六、 案例二——计数器

  1. <body>
  2. <div id="app">
  3. <button @click="decrease">-</button>
  4. <span>{{number}}</span>
  5. <button @click="increase">+</button>
  6. </div>
  7. <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
  8. <script>
  9. new Vue({
  10. el: "#app",
  11. data: {
  12. number: 0
  13. },
  14. methods: {
  15. increase() {
  16. this.number++;
  17. },
  18. decrease() {
  19. this.number--;
  20. }
  21. }
  22. })
  23. </script>
  24. </body>

测试:  

七、使用vue/cli工具创建一个Vue项目(需要Node环境)

 1、全局安装vue/cli工具:

cnpm install -g @vue/cli

 会有点慢,可能要半小时,而且会报错,请耐心等待!

2、使用vue/cli创建Vue项目:

vue create hello

 项目名不能大写

 选择Vue2:(用⬇)

安装中...有装yarn的,会使用yarn下载依赖

安装较慢,耐心等待,或科学上网。

安装成功:

3、启动服务器:

进入项目目录,启动服务器: 

  1. cnpm run serve
  2. yarn serve

注意:是serve,不是server。 

服务启动成功: 

 

4、访问:

http://localhost:8080

5、项目目录:

 src是开发的关键目录。 

(1)main.js:

  1. import Vue from 'vue'
  2. import App from './App.vue'
  3. // 配置开发选项,false:报错会有友好的提示。上线之后,用true。
  4. Vue.config.productionTip = false
  5. new Vue({
  6. render: h => h(App),
  7. }).$mount('#app')

import是ES6的模块化语法,可以引入第三方模块。

ES6的暴露接口:export。

以前使用Require()引入,module.exports()来暴露模块。  

A、组件化开发概述

以前,我们是使用一个一个标签,组成的页面。  

.vue后缀的文件是Vue单文件组件

这样,用组件拆分的方式开发项目,思路清晰简洁高效,而且还可以复用相同的组件。

(2)app.vue

  1. <template>
  2. <!-- 网页模板,编写html代码 -->
  3. <div id="app">
  4. <img alt="Vue logo" src="./assets/logo.png">
  5. <HelloWorld msg="Welcome to Your Vue.js App" />
  6. </div>
  7. </template>
  8. <script>
  9. // js代码
  10. import HelloWorld from "./components/HelloWorld.vue";
  11. export default {
  12. name: "App",
  13. components: {
  14. HelloWorld,
  15. },
  16. };
  17. </script>
  18. <style>
  19. /* css代码 */
  20. #app {
  21. font-family: Avenir, Helvetica, Arial, sans-serif;
  22. -webkit-font-smoothing: antialiased;
  23. -moz-osx-font-smoothing: grayscale;
  24. text-align: center;
  25. color: #2c3e50;
  26. margin-top: 60px;
  27. }
  28. </style>

A、<template>

这样写会报错:

可以这样写:

 

template里面只能有一个标签。

  

B、<script>

  1. <template>
  2. <div>
  3. <h1>{{message}}</h1>
  4. <button @click="sayHello">sayHello</button>
  5. </div>
  6. </template>
  7. <script>
  8. export default {
  9. data() {
  10. return {
  11. message: "hello vue",
  12. };
  13. },
  14. methods: {
  15. sayHello() {
  16. alert("hello");
  17. },
  18. },
  19. };
  20. </script>
  21. <style>
  22. </style>

这边的data(),是一个函数。 

 ​​​​​​​效果如下:

6、总结:

以后开发Vue时,是使用启动服务器的方式,这样才能使用更加高效快捷的组件化模块化的开发方式。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/76742
推荐阅读
相关标签
  

闽ICP备14008679号