vue自学入门-6(vue jsx)
目录:
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)的更多相关文章
- vue自学入门-4(vue slot)
vue自学入门-1(Windows下搭建vue环境) vue自学入门-2(vue创建项目) vue自学入门-3(vue第一个例子) vue自学入门-4(vue slot) vue自学入门-5(vuex ...
- vue自学入门-5(vuex state)
vue自学入门-1(Windows下搭建vue环境) vue自学入门-2(vue创建项目) vue自学入门-3(vue第一个例子) vue自学入门-4(vue slot) vue自学入门-5(vuex ...
- vue自学入门-7(vue style scope)
vue自学入门-1(Windows下搭建vue环境) vue自学入门-2(vue创建项目) vue自学入门-3(vue第一个例子) vue自学入门-4(vue slot) vue自学入门-5(vuex ...
- vue自学入门-8(vue slot-scope)
vue自学入门-1(Windows下搭建vue环境) vue自学入门-2(vue创建项目) vue自学入门-3(vue第一个例子) vue自学入门-4(vue slot) vue自学入门-5(vuex ...
- vue 快速入门 系列 —— vue 的基础应用(上)
其他章节请看: vue 快速入门 系列 vue 的基础应用(上) Tip: vue 的基础应用分上下两篇,上篇是基础,下篇是应用. 在初步认识 vue一文中,我们已经写了一个 vue 的 hello- ...
- vue 快速入门 系列 —— vue 的基础应用(下)
其他章节请看: vue 快速入门 系列 vue 的基础应用(下) 上篇聚焦于基础知识的介绍:本篇聚焦于基础知识的应用. 递归组件 组件是可以在它们自己的模板中调用自身的.不过它们只能通过 name 选 ...
- vue 快速入门 系列 —— vue loader 上
其他章节请看: vue 快速入门 系列 vue loader 上 通过前面"webpack 系列"的学习,我们知道如何用 webpack 实现一个不成熟的脚手架,比如提供开发环境和 ...
- vue 快速入门 系列 —— vue loader 下
其他章节请看: vue 快速入门 系列 vue loader 下 CSS Modules CSS Modules 是一个流行的,用于模块化和组合 CSS 的系统.vue-loader 提供了与 CSS ...
- vue 快速入门 系列 —— vue loader 扩展
其他章节请看: vue 快速入门 系列 vue loader 扩展 在vue loader一文中,我们学会了从零搭建一个简单的,用于单文件组件开发的脚手架.本篇将在此基础上继续引入一些常用的库:vue ...
随机推荐
- ubuntu16.04(其他版本也可)批量修改图片名---shell编程
在windows系统中有很多好用的图片排序软件,可以批量的进行图片排序.然而在ubuntu中,图片排序只能自己写一个shell脚本,编写shell代码.下面是具体的操作步骤.(1).新建一个renam ...
- python中元类(metaclass)的理解
原文地址:http://www.cnblogs.com/tkqasn/p/6524879.html 一:类也是对象 类就是一组用来描述如何生成一个对象的代码. 类也是一个对象,只要你使用关键字clas ...
- Codeforces_731_F
http://codeforces.com/problemset/problem/731/F 其实是暴力枚举,但是有些小技巧,直接保存每个数的数量. 枚举每个起点时,然后依次加上起点大小的分段的数量的 ...
- 题解【Luogu P6102 谔运算】
\[ \texttt{Description} \] 给出一个长度为 \(n\) 的数列 \(a\),求 \(\sum\limits_{i=1}\limits^{n}\sum\limits_{j=1} ...
- 转AngularJS路由插件
AngularJS学习笔记--002--Angular JS路由插件ui.router源码解析 标签: angular源码angularjs 2016-05-04 13:14 916人阅读 评论(0) ...
- Go语言实现:【剑指offer】机器人的运动范围
该题目来源于牛客网<剑指offer>专题. 地上有一个m行和n列的方格.一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之 ...
- 【基础】CodeBlocks调试器基本使用方法
CodeBlocks是一个开放源码的全功能的跨平台C/C++集成开发环境. 下载地址:http://www.codeblocks.org/downloads/26 其中,Windows环境下可以使用 ...
- pytorch-- Attention Mechanism
1. paper: Learning Phrase Representations using RNN Encoder–Decoder for Statistical Machine Translat ...
- Kubernetes 部署 Nginx Ingress Controller 之 nginxinc/kubernetes-ingress
更新:这里用的是 nginxinc/kubernetes-ingress ,还有个 kubernetes/ingress-nginx ,它们的区别见 Differences Between nginx ...
- 利用十字链表存储树结构(便于同时求出某一点的入度与出度)------C语言实现
#include <stdio.h> #include<conio.h> #include<stdlib.h> /* 利用十字链表存储有向图,可用于同时查找某个顶点 ...