🔍 登录 注册

vue2.0+webpack的项目搭建与开发

大 大苹果 2018-03-14 linux 👁 2563 ⏱ 9min

vue2.0

vue2.0是一个MVVM框架,对于这样的一个框架,我们应怎样搭建环境,用webpack+loader+babel,还是AAL,怎么样创建组件,基本的自定义标签的创建,数据的封装性,数据和模板的关系,组件的生命周期,组件的状态,内部的值组件与组件之间的数据传递。

Vue2.0与vue1.0几乎90%的API和核心概念都没有变,具体可以看https://cn.vuejs.org/v2/guide/migration.html

Vue2.0的环境安装

Npm install --save vue

Vue2中新增有两种构建方式:

1.独立构建和运行构建,他们的区别在于前者包含模板编译器而后者不包含。模板编译器的职责是将模板的字符串编译为纯JavaScript的渲染函数。如果你想要在组件中使用template选项,你就需要编译器。

独立构建包含模板编译器并支持template选项,他也依赖于浏览器的接口存在,所以你不能使用它来为服务器短渲染。

2.运行时构建不包含模板编译器,因此不支持template选项,只能用render选项,但即使使用运行时构建,在单文件组件中也依然可以写模板,因为单文件组件的模板会在构建时预编译为render函数。运行时构建比独立构建要轻量30%,只有17.14kb min+gzip大小。

默认npm包导出的是运行时构建。为了使用独立构建,在webpack配置中添加如下别名:

resolve: {
    alias: {
    'vue$': 'vue/dist/vue.common.js'
    }
}

vue2.0的注意事项

Vue2.0的组件必须有根元素

Vue1.0中的beforeCompile换成了created

Vue1.0中的Compile换成了mounted

Vue2.0的指令

指令可以接受修饰符和参数,参数只能有一个,修饰符可以有很多个

例如:

<div v-yangse:hong.color="blue">ccc{{children}}</div>
data(){
    return {
        blue: 'red'
    };
},
directives: {
    yangse(el, bingding) {
        el.style.background = bingding.value();
        if (bingding.modifiers.color) {
            el.style.background = 'yellow';
        }
        // console.log(bingding);
    }
}

vuex的使用

Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。Vuex 也集成到 Vue 的官方调试工具 devtools extension,提供了诸如零配置的 time-travel 调试、状态快照导入导出等高级调试功能。

vuex基础使用

import Vuex from 'vuex'
import Vue from "vue";
Vue.use(Vuex);

const store = new Vuex.Store({
    //这里state必须是json,是一个对象
    state: {
        count: 0, //这里是初始值的罗列
        students: [
            {name: 'panda', age: 12, sex: '男' },
            {name: 'lisa', age: 12, sex: '女' },
            {name: 'lily', age: 12, sex: '女' },
            {name: 'kitty', age: 12, sex: '女' },
            {name: 'smith', age: 12, sex: '男' },
            {name: 'smart', age: 12, sex: '男' },
            {name: 'lazy', age: 12, sex: '男' },
            {name: 'xiaoxiao', age: 12, sex: '女' },
            {name: 'dada', age: 12, sex: '男' },
            {name: 'amy', age: 12, sex: '男' },
            {name: 'lilei', age: 12, sex: '男' },
            {name: 'xiaohong', age: 12, sex: '女' }
        ]
    },
    mutations: {
        // 没有所谓的大写字母的type了,就是一个一个函数
        add (state, payload) {
            console.log(payload);
            state.count ++;
            state.count += payload;
        },
        minus(state) {
            state.count --;
        }
    },
    actions:{
        add(content, payload) {
            content.commit('add', payload);
        }
    },
    getters: {
        man: (state) => {
            return state.students.filter((item) => {
                return item.sex == '男';
            });
        }
    }
});
export default store;

在组件中的引用首先要在vue实例中引入store,否则在组件中使用要单独引入。

new Vue({
    el: "#app",
    store,
    components: {
        component
    }
});

component中使用store

<div>
{{count}}
    <p>
        <button @click="addHander">+</button>
        <button @click="minusHander">-</button>
    </p>
{{man}}
</div>
computed: {
    count() {
        return this.$store.state.count;
    },
    man() {
        return this.$store.getters.man;
    }
}

vuex必须在computed中使用。

本实例源码:https://github.com/zyw327/vue2.0

运行效果图:

image.png

读完了?给作者一点支持

本文采用 CC BY 4.0 协议转载 · © 大苹果

评论(0)

登录 后参与评论。

  • 还没有评论,来抢沙发。

🔗 相关文章

Mysql 表被标记为崩溃,最后一次自动化修复失败

当 MySQL 日志中出现“表被标记为崩溃且自动修复失败”的提示时,通常表示 MySQL 在启动过程中检测到某个表的文件系统或存储引擎层出现了问题。这种情况通常会导致表无法正常使用,需要手动进行修复。以下是处理这种情况的一些步骤和方法: ### 1. **查看具体错误信息** 首先,需要查看 MySQL 错误日志以获取更多的错误信息。这可以帮助确定崩溃的表和具体的问题。 ```bash # 查看 MySQL 错误日志 tail -f /var/log/mysql/error.log ``` ### 2. **修复表** 不同的存储引擎有不同的修复工具,以下是常用的修复方法: #### **使用 `myisamchk` 修复 MyISAM 表** 如果崩溃的表使用的是 MyISAM 存储引擎,可以使用 `myisamchk` 工具来修复表。 1. 停止 MySQL 服务: ```bash sudo systemctl stop mysql ``` 2. 使用 `myisamchk` 修复表:

2024/8/11👍 0

mermaid.min.js的使用及介绍

`mermaid.min.js` 是一个 JavaScript 库,用于在浏览器中轻松绘制复杂的图表和流程图。Mermaid 通过使用简单的标记语言来描述图表,使得用户无需深入学习图表绘制的底层技术即可创建专业的图形。 在这篇文章中,我们将介绍 `mermaid.min.js` 的功能、应用场景、如何在项目中使用,以及一些常用的示例。 ## Mermaid 的功能 Mermaid 支持多种类型的图表,包括但不限于: 1. **流程图(Flowchart)**: - 用于表示流程或过程中的步骤。 - 支持各种节点和连线风格。 2. **序列图(Sequence Diagram)**: - 用于表示对象之间的交互。 - 展示消息的发送和接收过程。 3. **类图(Class Diagram)**: - 用于表示类及其关系。 - 支持类的属性和方法定义。 4. **状态图(State Diagram)**: - 用于描述系统状态及其转换。 - 适用于复杂的状态机建模。 5. **甘

2024/8/9👍 0

docker之Dockerfile及docker compose配置文件的说明及使用

Docker 的配置文件对于镜像构建和容器化应用的管理至关重要。在 Docker 中,主要的配置文件是 Dockerfile 和 docker-compose.yml。Dockerfile 用于构建镜像,而 docker-compose.yml 用于定义多容器应用。下面将详细介绍这两个文件的配置选项和用法。 ## Dockerfile 配置详解 **Dockerfile** 是一个文本文件,其中包含一组指令,用于定义如何构建 Docker 镜像。以下是 Dockerfile 中常用的指令及其用法: ### FROM `FROM` 指令用于指定基础镜像,是 Dockerfile 中的第一条指令。 ```dockerfile FROM node:14 ``` 上例中,`node:14` 是官方的 Node.js 版本 14 的镜像。 ### LABEL `LABEL` 用于为镜像添加元数据,以键值对形式存在。 ```dockerfile LABEL maintainer="your-email@example.com" LABE

2024/8/9👍 0