• Vue.js的安装及简单使用


    一.Vue简介
    二.Vue.js的安装
    2.1.npm安装
    2.1.1.node.js介绍及安装

    简介

    简单的说 Node.js 就是运行在服务端的 JavaScript。

    Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。

    Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。

    安装

    Node.js 安装包及源码下载地址为:https://nodejs.org/en/download/

    验证是否安装成功

    2.1.2.NPM 使用介绍

    NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种:

    允许用户从NPM服务器下载别人编写的第三方包到本地使用。

    允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。

    允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。

    2.1.3.使用淘宝 NPM 镜像

    大家都知道国内直接使用 npm 的官方镜像是非常慢的,这里推荐使用淘宝 NPM 镜像。

    淘宝 NPM 镜像是一个完整 npmjs.org 镜像,你可以用此代替官方版本(只读),同步频率目前为 10分钟 一次以保证尽量与官方服务同步。

    你可以使用淘宝定制的 cnpm (gzip 压缩支持) 命令行工具代替默认的 npm:

    $ npm install -g cnpm --registry=https://registry.npm.taobao.org

    这样就可以使用 cnpm 命令来安装模块了:

    $ cnpm install [name]

    三.使用npm构建vue项目

    在用 Vue.js 构建大型应用时推荐使用 NPM 安装:

    # 最新稳定版

    $ cnpm install vue

    2.1.5.命令行工具

    Vue.js 提供一个官方命令行工具,可用于快速搭建大型单页应用。

    # 全局安装 vue-cli

    $ cnpm install --global vue-cli

    # 创建一个基于 webpack 模板的新项目

    $ vue init webpack my-project

    # 这里需要进行一些配置,默认回车即可

    This will install Vue 2.x version of the template.

    Project name(工程名):回车

    Project description(工程介绍):回车

    Author:作者名

    Vue build(是否安装编译器):回车

    Install vue-router(是否安装Vue路由):回车

    Use ESLint to lint your code(是否使用ESLint检查代码):y

    Set up unit tests(安装测试工具):y

    Setup e2e tests with Nightwatch(也是测试相关):y

    Should we run `npm install` for you after the project has been created? (recommended):回车

    进入项目,安装并运行:

    $ cd my-project

    $ cnpm install

    $ cnpm run dev

    DONE Compiled successfully in 4388ms

    > Listening at http://localhost:8080

    将生成好的项目使用IDE(idea,eclipse)的工作目录中

    这里使用的idea,安装vue.js的插件。

    在Terminnal中启动项目

    修改HelloWorld.vue中的代码,刷新浏览器

    2.1.6.vue项目目录结构

    四.Vue初探
    4.1MVVM模式

    MVVM是Model-View-ViewModel的简写。即模型-视图-视图模型。【模型】指的是后端传递的数据。【视图】指的是所看到的页面。【视图模型】mvvm模式的核心,它是连接view和model的桥梁。它有两个方向:一是将【模型】转化成【视图】,即将后端传递的数据转化成所看到的页面。实现的方式是:数据绑定。二是将【视图】转化成【模型】,即将所看到的页面转化成后端的数据。实现的方式是:DOM 事件监听。这两个方向都实现的,我们称之为数据的双向绑定。总结:在MVVM的框架下视图和模型是不能直接通信的。它们通过ViewModel来通信,ViewModel通常要实现一个observer观察者,当数据发生变化,ViewModel能够监听到数据的这种变化,然后通知到对应的视图做自动更新,而当用户操作视图,ViewModel也能监听到视图的变化,然后通知数据做改动,这实际上就实现了数据的双向绑定。并且MVVM中的View 和 ViewModel可以互相通信。MVVM流程图如下:

    4.2案例
    4.2.1.HelloWorld

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>

    <html>

    <head>

    <title>初探vue</title>

    </head>

    <script src="https://cdn.staticfile.org/vue/2.4.2/vue.min.js"></script>

    <body>

    <div id="vue_det">

    <h3>username : {{username}}</h3>

    <h3>address : {{address}}</h3>

    <h3>{{userinfo()}}</h3>

    </div>

    <!--这是我们的View-->

    <div id="app">

    {{ message }}

    </div>

    <script type="text/javascript">

    var vm = new Vue({

    el: '#vue_det',

    data: {

    username: "happy",

    address: "北京市海淀区"

    },

    methods: {

    userinfo: function() {

    return "用户名:"+this.username + "-----地址:"+this.address;

    }

    }

    });

    // 这是我们的Model

    var exampleData = {

    message: 'Hello World!'

    }

    // 创建一个 Vue 实例或 "ViewModel"

    // 它连接 View 与 Model

    var test2= new Vue({

    el: '#app',

    data: exampleData

    })

    </script>

    </body>

    </html>

    data:定义所需的属性

    methods:定义的函数,可以通过 return 来返回函数值。

    {{ }} 用于输出对象属性和函数返回值。

    4.2.2双向绑定的案例

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>

    <html>

    <head>

    <title>Title</title>

    </head>

    <script src="https://cdn.staticfile.org/vue/2.4.2/vue.min.js"></script>

    <body>

    <!--这是我们的View-->

    <div id="app">

    <p>{{ message }}</p>

    <input type="text" v-model="message"/>

    </div>

    <script>

    // 这是我们的Model

    var exampleData = {

    message: 'Hello World!'

    }

    // 创建一个 Vue 实例或 "ViewModel"

    // 它连接 View 与 Model

    new Vue({

    el: '#app',

    data: exampleData

    })

    </script>

    </body>

    </html>

    将message绑定到文本框,当更改文本框的值时,<p>{{ message }}</p> 中的内容也会被更新。

    反过来,如果改变message的值,文本框的值也会被更新,我们可以在Chrome控制台进行尝试。

  • 相关阅读:
    双日历时间段选择控件—daterangepicker(汉化版)
    vue elementui table表格展开行每次只展开一行
    vue-pdf PDF文件预览
    async await
    vuex发送axios请求
    jq调用浏览器下载文件 window.open()
    禁止页面右键、选择、F12操作
    vue 点击一条消息跳转相应的页面且对应相应的大模块和办理状态
    vue-infinite-scroll 滚动加载下一页
    填写流程当前登录人可以填写除自己可填项外还可看到他前面经办人相关填写的内容,且经办人后面的不可见
  • 原文地址:https://www.cnblogs.com/liutao1122/p/10725125.html
Copyright © 2020-2023  润新知