2017-11-09 中文代码示例之Vuejs入门教程(一)
"中文编程"知乎专栏原链
为了检验中文命名在主流框架中的支持程度, 在vuejs官方入门教程第一部分的示例代码中尽量使用了中文命名. 所有演示都在本地测试通过, 源码在这里. 下面省略了很多原教程的说明内容, 而着重于代码示例本身. 欢迎问题/批评.
声明式渲染
<div id="元素id">
<p>{{ 问候 }}</p>
</div>
var 应用1 = new Vue({
el: '#元素id',
data: {
问候: '吃了么?'
}
})
打开你的浏览器的控制台 (就在这个页面打开),并修改 应用1.问候
,你将看到上例相应地更新。
<div id="元素id2">
<span v-bind:title="动态绑定信息">
鼠标悬停几秒钟查看此处动态绑定的提示信息!
</span>
</div>
var 应用2 = new Vue({
el: '#元素id2',
data: {
动态绑定信息: '页面加载于 ' + new Date().toLocaleString()
}
})
再次打开浏览器的 JavaScript 控制台输入 应用2.动态绑定信息 = '新消息'
,就会再一次看到这个绑定了 title 属性的 HTML 已经进行了更新
条件与循环
<div id="元素id3">
<p v-if="看得到">现在你看到我了</p>
</div>
var 应用3 = new Vue({
el: '#元素id3',
data: {
看得到: true
}
})
继续在控制台设置 应用3.看得到 = false
,你会发现“现在你看到我了”消失了。
<div id="元素id4">
<ol>
<li v-for="任务 in 任务表">
{{ 任务.内容 }}
</li>
</ol>
</div>
var 应用4 = new Vue({
el: '#元素id4',
data: {
任务表: [
{ 内容: '学习 JavaScript' },
{ 内容: '学习 Vue' },
{ 内容: '整个牛项目' }
]
}
})
警告如下, 但列表仍然显示. 已经在Vue项目新建issue
[Vue warn]: Error compiling template:
<div id="元素id4">
<ol>
<li v-for="任务 in 任务表">
{{ 任务.内容 }}
</li>
</ol>
</div>
- invalid v-for alias "任务" in expression: v-for="任务 in 任务表"
(found in <Root>)
在控制台里,输入 应用4.任务表.push({ 内容: '新项目' }),你会发现列表中添加了一个新项。
处理用户输入
v-on:click支持中文方法名, 但需要(). 为此在Vue项目新建issue, 经社区建议得知并检验, 另一种方式@click也支持中文命名, 同样需要().
<div id="元素id5">
<p>{{ 问好 }}</p>
<button @click="倒着说()">@click有效</button>
<button v-on:click="倒着说()">v-on:click有效</button>
</div>
var 应用5 = new Vue({
el: '#元素id5',
data: {
问好: '你好'
},
methods: {
倒着说: function () {
this.问好 = this.问好.split('').reverse().join('')
}
}
})
表单输入和应用状态之间的双向绑定:
<div id="元素id6">
<p>{{ 问好 }}</p>
<input v-model="问好">
</div>
var 应用6 = new Vue({
el: '#元素id6',
data: {
问好: '你好!'
}
})
组件化应用构建
<div id="元素id7">
<ol>
<todo-item
v-for="物品 in 购物单"
v-bind:待购="物品"
v-bind:key="物品.序号">
</todo-item>
</ol>
</div>
Vue.component('todo-item', {
props: ['待购'],
template: '<li>{{ 待购.名称 }}</li>'
})
var 应用7 = new Vue({
el: '#元素id7',
data: {
购物单: [
{ 序号: 0, 名称: '蔬菜' },
{ 序号: 1, 名称: '肉' },
{ 序号: 2, 名称: '随便啥' }
]
}
})
这里的HTML标签todo-item
和其他标签(如div, ol)一样, 不支持中文命名.
核心基本功能介绍结束.
后记
初步看来Vuejs对中文命名的支持不错, 尤其是模板的部分. 个别改进建议已经在Vue的github库以issue的方式提出, 社区的活跃度很高, 开发者对这些issue的反应很快, 标记上了”改进”标签, 并针对一个不支持中文命名的问题提供了解决方案.
感觉此类实践可以促进与其他开源社区的交流, 并推进框架的业务代码中对中文(Unicode)命名的支持程度.
11/20/2017 补记:
2017-11-09 中文代码示例之Vuejs入门教程(一)的更多相关文章
- 中文代码示例之Vuejs入门教程(一)
原址: https://zhuanlan.zhihu.com/p/30917346 为了检验中文命名在主流框架中的支持程度, 在vuejs官方入门教程第一部分的示例代码中尽量使用了中文命名. 所有演示 ...
- 2017-11-20 中文代码示例之Vuejs入门教程(一)问题后续
"中文编程"知乎专栏原文 第一个issue: Error compiling template if using unicode naming as v-for alias · I ...
- 中文代码示例之Angular入门教程尝试
原址: https://zhuanlan.zhihu.com/p/30853705 原文: 中文代码示例教程之Angular尝试 为了检验中文命名在Angular中的支持程度, 把Angular官方入 ...
- 2017-11-07 中文代码示例之Angular入门教程尝试
"中文编程"知乎专栏原址 原文: 中文代码示例教程之Angular尝试 为了检验中文命名在Angular中的支持程度, 把Angular官方入门教程的示例代码中尽量使用了中文命名. ...
- 2018-11-27 中文代码示例之Programming in Scala笔记第七八章
续前文: 中文代码示例之Programming in Scala学习笔记第二三章 中文代码示例之Programming in Scala笔记第四五六章. 同样仅节选有意思的例程部分作演示之用. 源文档 ...
- 2018-12-09 疑似bug_中文代码示例之Programming in Scala笔记第九十章
续前文: 中文代码示例之Programming in Scala笔记第七八章 源文档库: program-in-chinese/Programming_in_Scala_study_notes_zh ...
- 2018-11-16 中文代码示例之Programming in Scala笔记第四五六章
续前文: 中文代码示例之Programming in Scala学习笔记第二三章. 同样仅节选有意思的例程部分作演示之用. 源文档仍在: program-in-chinese/Programming_ ...
- 中文代码示例之NW.js桌面应用开发初体验
先看到了NW.js(应该是前身node-webkit的缩写? 觉得该起个更讲究的名字, 如果是NorthWest之意的话, logo(见下)里的指南针好像也没指着西北啊)和Electron的比较文章: ...
- 2018-08-11 中文代码示例之Spring Boot 2.0.3问好
上次试用Spring Boot还是两年前: 中文代码示例之Spring Boot 1.3.3演示. 打算用在一个讨论组内小项目上, 于是从官网Building an Application with ...
随机推荐
- 第63节:Java中的Spring MVC简介笔记
前言 感谢! 承蒙关照~ Java中的Spring MVC简介笔记 MVC简介 Spring MVC 基本概念 Spring MVC 项目搭建 maven 使用Spring MVC进行开发 实现数据绑 ...
- Ubuntu 16.04 系统无法挂载u盘的问题
Ubuntu系统无法挂载U盘设备,提示错误为:mount:未知文件系统类型“exfat”.这是因为Ubuntu默认情况下是不允许挂载U盘的,想在Ubuntu系统下挂载U盘,就要用下面的方法了. sud ...
- json模块及其API
模块:json 所包含API列表: json.dumps : 将python对象转换成json格式 json.loads : 将json格式字符串转换为python对象 ——————————————— ...
- python通过手机抓取微信公众号
使用 Fiddler 抓包分析公众号 打开微信随便选择一个公众号,查看公众号的所有历史文章列表 在 Fiddler 上已经能看到有请求进来了,说明公众号的文章走的都是HTTPS协议,这些请求就是微信客 ...
- maven的标准pom.xml详解
maven是构建和管理理项目的利器,pom.xml 是其核心.一个标准的pom.xml该怎么写?其中的标签又有什么意义?话不多说,请看代码: <?xml version="1.0&qu ...
- sql server 性能调优之 资源等待 CXPACKET
一.概述 CXPACKET是指:线程正在等待彼此完成并行处理.什么意思呢? 当sql server发现一条指令复杂时,会决定用多个线程并行来执行,由于某些并行线程已完成工作,在等待其它并行线程来同步 ...
- git无法提交问题
今天在git提交时遇到一个问题,如下图 根据它的提示手动删除index.lock文件就可以了. 那为什么会有这个index.lock文件呢?我就觉得是莫名其妙出现的,别人的解释是这样的: 在你进行某些 ...
- Unity3D热更新之LuaFramework篇[02]--用Lua创建自己的面板
在上篇文章 Unity3D热更新之LuaFramework篇[01]--从零开始 中,我们了解了怎么获得一个可用的LuaFramework框架. 本篇将我会先介绍一下如何配置Lua开发环境,然后分析在 ...
- Windows服务器端口绑定证书
打开IIS:inetmgr 打开服务:ctrl+shift+Esc 查看证书秘钥: 服务器查看https证书绑定: 1) 查看证书 netsh http show sslcert 2) 将证书与端口绑 ...
- 怎么样使用CLion调试分析MySQL Server
由于在写MySQL日志订阅服务时候,需要确定在什么event之后保存position,所以就开始研究MySQL的源码,刚开始采用最原始的打印输出的方式去调试,然后每次改完编译运行,效率好低,让我很绝望 ...