• 模板语法


    Vue.js 使用了基于 HTML 的模版语法,允许开发者声明式地将 DOM 绑定至底层 Vue 实例的数据。所有 Vue.js 的模板都是合法的 HTML ,所以能被遵循规范的浏览器和 HTML 解析器解析。

    在底层的实现上, Vue 将模板编译成虚拟 DOM 渲染函数。结合响应系统,在应用状态改变时, Vue 能够智能地计算出重新渲染组件的最小代价并应用到 DOM 操作上。

    插值

    文本: {{}}

    Mustache 标签将会被替代为对应数据对象上 msg 属性的值。无论何时,绑定的数据对象上 msg 属性发生了改变,插值处的内容都会更新。

    v-once : <span v-once>This will never change: {{ msg }}</span>

    纯 HTML v-html=""

    双大括号会将数据解释为纯文本,而非 HTML 。为了输出真正的 HTML ,你需要使用 v-html

    属性: v-bind:id = "dynamicId"

    Mustache 不能在 HTML 属性中使用,应使用 v-bind 指令;这对布尔值的属性也有效 —— 如果条件被求值为 false 的话该属性会被移除

    使用 JavaScript 表达式

    vue.js提供了完全的javascript表达式支持,这些表达式会在所属 Vue 实例的数据作用域下作为 JavaScript 被解析。有个限制就是,每个绑定都只能包含单个表达式,所以下面的例子都不会生效。

    <!-- 这是语句,不是表达式 -->
    {{ var a = 1 }}
    <!-- 流控制也不会生效,请使用三元表达式 -->
    {{ if (ok) { return message } }}

    指令

    指令(Directives)是带有 v- 前缀的特殊属性。指令属性的值预期是单一 JavaScript 表达式(除了 v-for,之后再讨论)。指令的职责就是当其表达式的值改变时相应地将某些行为应用到 DOM 上。

    参数

    一些指令能接受一个“参数”,在指令后以冒号指明。

    <a v-bind:href="url"></a>

    <a v-on:click="doSomething">

    修饰符

    修饰符(Modifiers)是以半角句号 . 指明的特殊后缀,用于指出一个指令应该以特殊方式绑定。

    .prevent 修饰符告诉 v-on 指令对于触发的事件调用 event.preventDefault()

    <form v-on:submit.prevent="onSubmit"></form>


    过滤器

    Vue.js 允许你自定义过滤器,可被用作一些常见的文本格式化。过滤器可以用在两个地方:mustache 插值和 v-bind 表达式。过滤器应该被添加在 JavaScript 表达式的尾部,由“管道”符指示:

    <!-- in mustaches -->
    {{ message | capitalize }}
     
    <!-- in v-bind -->
    <div v-bind:id="rawId | formatId"></div>

    过滤器函数总接受表达式的值作为第一个参数。

    过滤器可以串联:

    {{ message | filterA | filterB }}

    过滤器是 JavaScript 函数,因此可以接受参数:

    {{ message | filterA('arg1', arg2) }}

    这里,字符串 'arg1' 将传给过滤器作为第二个参数, arg2 表达式的值将被求值然后传给过滤器作为第三个参数。

    缩写


    v-bind 缩写 

    <!-- 完整语法 -->
    <a v-bind:href="url"></a>
     
    <!-- 缩写 -->
    <a :href="url"></a>


    v-on 缩写 

    <!-- 完整语法 -->
    <a v-on:click="doSomething"></a>
     
    <!-- 缩写 -->
    <a @click="doSomething"></a>
  • 相关阅读:
    CSS
    Html5
    [LeetCode] 78. Subsets(子集)
    [LeetCode] 22. Generate Parentheses(括号生成器)
    [LeetCode] 406. Queue Reconstruction by Height(按身高重排队列)
    [LeetCode] 46. Permutations(全排列)
    [LeetCode] 94. Binary Tree Inorder Traversal(二叉树的中序遍历)
    [LeetCode] 338. Counting Bits(数比特位)
    [LeetCode] 763. Partition Labels(标签划分)
    [LeetCode] 20. Valid Parentheses(有效的括号)
  • 原文地址:https://www.cnblogs.com/vervin/p/6555093.html
Copyright © 2020-2023  润新知