支配vue框架模版语法之v-once

841 阅读2分钟
  • ArthurSlog

  • SLog-23

  • Year·1

  • Guangzhou·China

  • July 22th 2018

关注微信公众号“ArthurSlog”
微信扫描二维码,关注我的公众号

你所希望的 犹如钻石存于人间 你所厌恶的 犹如空气充斥天地


开发环境MacOS(High Sierra 10.13.5)

需要的信息和信息源:

  1. v-text

  2. v-html

  3. v-show

  4. v-if

  5. v-else

  6. v-else-if

  7. v-for

  8. v-on

  9. v-bind

  10. v-model

  11. v-pre

  12. v-cload

  13. 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

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-once.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">
            <button v-on:click="counter += 1">Add 1</button>
            <p v-once>The button above has been clicked {{ counter }} times.</p>
        </div>
        <script>
        new Vue({
            el: '#app',
            data: {
                counter: 0
            }
        })
        </script>
    </body>
</html>
  • 我们引用上面的代码,在标签 < p > 里使用 v-once 指令,打开浏览器,地址栏输入 127.0.0.1:3000/v-once.html,然后你点击 “Add 1” 按钮,你会发现文本不会再变化了,这是因为 once 仅渲染元素和组件一次。在随后的重新渲染中,元素/组件及其所有子元素将被视为静态内容并被跳过,这是用来用于优化更新性能的

  • 至此,我们把 vue模版指令 v-once 介绍了一遍,更多使用方法和信息,请参考 vue官方手册


欢迎关注我的微信公众号 ArthurSlog

ArthurSlog
微信扫描二维码,关注我的公众号

如果你喜欢我的文章 欢迎点赞 留言

谢谢