-
ArthurSlog
-
SLog-22
-
Year·1
-
Guangzhou·China
-
July 21th 2018
公平是弱者的安慰剂 竞争是强者的试金石
-
本文的所有源码地址
-
vue.js 的模版指令(directive),当前(2018/7/17)一共有 13 个,分别是:
-
v-text
-
v-html
-
v-show
-
v-if
-
v-else
-
v-else-if
-
v-for
-
v-on
-
v-bind
-
v-model
-
v-pre
-
v-cload
-
v-once
- vue.js 的模版指令,与编程语言的 “关键字” 或者 “保留字” 有点相似,例如 if(判断语句关键字)、for(循环语句关键字)
- 首先,搭起静态服务器,先切换至桌面路径
cd ~/Desktop
- 创建一个文件夹node_vue_directive_learningload
mkdir node_vue_directive_learningload
- 切换路径到新建的文件夹下
cd node_vue_directive_learningload
- 使用npm初始化node环境,一路enter键完成初始化
npm init
- 使用npm安装koa和koa-static
sudo npm install koa koa-static
- 参考Koa-static说明手册,我们在当前路径下编写index.js和index.html两份文件
index.js
const serve = require('koa-static');
const Koa = require('koa');
const app = new Koa();
// $ GET /package.json
app.use(serve('.'));
app.listen(3000);
console.log('listening on port 3000');
index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>ArthurSlog</title>
</head>
<body>
<h1>The static web server by ArthurSlog</h1>
</body>
</html>
- 接下来,我们来根据使用场景,来编写 vue.js 模版指令代码
v-cloak.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<!-- 开发环境版本,包含了有帮助的命令行警告 -->
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<title>ArthurSlog</title>
</head>
<body>
<div id="app">
<div v-cloak>{{ msg }}</div>
</div>
<br>
<button onclick="loadmsg()">Load msg</button>
<script>
function loadmsg () {
new Vue({
el: '#app',
data: {
msg: 'Hello ArthurSlog'
}
})
}
</script>
<style>
[v-cloak]{ display:none; }
</style>
</body>
</html>
- 打开浏览器,地址栏输入 127.0.0.1:3000/v-cloak.html,文本 “Hello ArthurSlog” 没有显示,只有显示一个 按钮 “load msg”,按钮的 “click” 事件 和 "loadmsg()" 方法相关联,而 “loadmsg()” 方法里包含了 “vue对象的实例化”,
function loadmsg () {
new Vue({
el: '#app',
data: {
msg: 'Hello ArthurSlog'
}
})
}
- 另一方面,在样式文件里,添加了:
[v-cloak]{ display:none; }
-
现在点击按钮,文本 “Hello ArthurSlog” 显示出来,此时按钮 “load msg” 响应了 “click” 事件,“click” 事件调用了 “loadmsg()” 方法,“loadmsg” 方法 执行了 “vue对象的实例化”,关键点在于:v-cloak 指令让指定的 元素 和 元素的子元素 在“vue对象的实例化” 之前处于隐藏状态,当 “vue对象的实例化” 完成后,才会显示出来
-
至此,我们把 vue模版指令 v-cloak 介绍了一遍,更多使用方法和信息,请参考 vue官方手册。