目录:

vue自学入门-1(Windows下搭建vue环境)

vue自学入门-2(vue创建项目)

vue自学入门-3(vue第一个例子)

vue自学入门-4(vue slot)

vue自学入门-5(vuex state)

vue自学入门-6(vue jsx)

vue自学入门-7(vue style scope)

vue自学入门-8(vue slot-scope)

vue组件视图可以通过模板,也可以通过jsx方式

1、删除HelloWorld<template>内容

-----------------方式1---------------------

2、export default中增加render

3、运行

4、点击事件和react的jsx写法很像

export default {
name: 'HelloWorld',
methods: { add () {
// this.$store.state.count += 1
this.$store.commit('add1')
}},
render () {
return (
<div class="hello">
<div onClick={() => this.add()}>点我增加1</div>
</div>
)
},
data () {
return {
msg: 'Welcome to Your Vue.js App'
}
}
}

5、运行正常

-----------------方式2---------------------

6、再换一种写法使用createElement

createElement可以简写为h,或者其它字符比如

7、增加点击事件

 render (h) {
return h('div', {
on: {click: () => {
console.log('click')
this.add()
}}
}, '点我增加1')
},

8、进一步改写代码

render: h => h(App) 含义

render: function (createElement) {
return createElement(App);
}
render (createElement) {
return createElement(App);
}
render (h){
return h(App);
}

按上面的写法,将render改写为

 render: h => h('div', {
on: {click: () => {
console.log(this)
this.add()
}}
}, '点我增加1'),

发现并不能正确add,提示

打印this,下面这个this为

正确的写法this为

为什么出现这种问题没有想明白,有熟悉的朋友请解答一下,正常,异常代码分别如下

render (h) {
return h('div', {
on: {click: () => {
console.log(this)
this.add()
}}
}, '点我增加1')
} render: h => h('div', {
on: {click: () => {
console.log(this)
this.add()
}}
}, '点我增加1')

如果想处理这个问题可以这样写,增加_this

<script>
var _this = {}
export default {
name: 'HelloWorld',
methods: { add () {
// this.$store.state.count += 1
this.$store.commit('add1')
}},
beforeCreate () {
_this = this
},
render: h => h('div', {
on: {click: () => {
console.log(_this)
_this.add()
}}
}, '点我增加1'),
data () {
return {
msg: 'Welcome to Your Vue.js App'
}
}
}
</script>

vue自学入门-6(vue jsx)的更多相关文章

  1. vue自学入门-4(vue slot)

    vue自学入门-1(Windows下搭建vue环境) vue自学入门-2(vue创建项目) vue自学入门-3(vue第一个例子) vue自学入门-4(vue slot) vue自学入门-5(vuex ...

  2. vue自学入门-5(vuex state)

    vue自学入门-1(Windows下搭建vue环境) vue自学入门-2(vue创建项目) vue自学入门-3(vue第一个例子) vue自学入门-4(vue slot) vue自学入门-5(vuex ...

  3. vue自学入门-7(vue style scope)

    vue自学入门-1(Windows下搭建vue环境) vue自学入门-2(vue创建项目) vue自学入门-3(vue第一个例子) vue自学入门-4(vue slot) vue自学入门-5(vuex ...

  4. vue自学入门-8(vue slot-scope)

    vue自学入门-1(Windows下搭建vue环境) vue自学入门-2(vue创建项目) vue自学入门-3(vue第一个例子) vue自学入门-4(vue slot) vue自学入门-5(vuex ...

  5. vue 快速入门 系列 —— vue 的基础应用(上)

    其他章节请看: vue 快速入门 系列 vue 的基础应用(上) Tip: vue 的基础应用分上下两篇,上篇是基础,下篇是应用. 在初步认识 vue一文中,我们已经写了一个 vue 的 hello- ...

  6. vue 快速入门 系列 —— vue 的基础应用(下)

    其他章节请看: vue 快速入门 系列 vue 的基础应用(下) 上篇聚焦于基础知识的介绍:本篇聚焦于基础知识的应用. 递归组件 组件是可以在它们自己的模板中调用自身的.不过它们只能通过 name 选 ...

  7. vue 快速入门 系列 —— vue loader 上

    其他章节请看: vue 快速入门 系列 vue loader 上 通过前面"webpack 系列"的学习,我们知道如何用 webpack 实现一个不成熟的脚手架,比如提供开发环境和 ...

  8. vue 快速入门 系列 —— vue loader 下

    其他章节请看: vue 快速入门 系列 vue loader 下 CSS Modules CSS Modules 是一个流行的,用于模块化和组合 CSS 的系统.vue-loader 提供了与 CSS ...

  9. vue 快速入门 系列 —— vue loader 扩展

    其他章节请看: vue 快速入门 系列 vue loader 扩展 在vue loader一文中,我们学会了从零搭建一个简单的,用于单文件组件开发的脚手架.本篇将在此基础上继续引入一些常用的库:vue ...

随机推荐

  1. ubuntu16.04(其他版本也可)批量修改图片名---shell编程

    在windows系统中有很多好用的图片排序软件,可以批量的进行图片排序.然而在ubuntu中,图片排序只能自己写一个shell脚本,编写shell代码.下面是具体的操作步骤.(1).新建一个renam ...

  2. python中元类(metaclass)的理解

    原文地址:http://www.cnblogs.com/tkqasn/p/6524879.html 一:类也是对象 类就是一组用来描述如何生成一个对象的代码. 类也是一个对象,只要你使用关键字clas ...

  3. Codeforces_731_F

    http://codeforces.com/problemset/problem/731/F 其实是暴力枚举,但是有些小技巧,直接保存每个数的数量. 枚举每个起点时,然后依次加上起点大小的分段的数量的 ...

  4. 题解【Luogu P6102 谔运算】

    \[ \texttt{Description} \] 给出一个长度为 \(n\) 的数列 \(a\),求 \(\sum\limits_{i=1}\limits^{n}\sum\limits_{j=1} ...

  5. 转AngularJS路由插件

    AngularJS学习笔记--002--Angular JS路由插件ui.router源码解析 标签: angular源码angularjs 2016-05-04 13:14 916人阅读 评论(0) ...

  6. Go语言实现:【剑指offer】机器人的运动范围

    该题目来源于牛客网<剑指offer>专题. 地上有一个m行和n列的方格.一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之 ...

  7. 【基础】CodeBlocks调试器基本使用方法

     CodeBlocks是一个开放源码的全功能的跨平台C/C++集成开发环境. 下载地址:http://www.codeblocks.org/downloads/26 其中,Windows环境下可以使用 ...

  8. pytorch-- Attention Mechanism

    1. paper: Learning Phrase Representations using RNN Encoder–Decoder for Statistical Machine Translat ...

  9. Kubernetes 部署 Nginx Ingress Controller 之 nginxinc/kubernetes-ingress

    更新:这里用的是 nginxinc/kubernetes-ingress ,还有个 kubernetes/ingress-nginx ,它们的区别见 Differences Between nginx ...

  10. 利用十字链表存储树结构(便于同时求出某一点的入度与出度)------C语言实现

    #include <stdio.h> #include<conio.h> #include<stdlib.h> /* 利用十字链表存储有向图,可用于同时查找某个顶点 ...