vue爬坑之路3

插值

  

  •   文本

        数据绑定最常见的形式就是使用“Mustache”语法(双大括号)的文本差值:

          <span>Message:{{msg}}</span>

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

        通过使用v-once指令,能一次性地插值,当数据改变时,插值处的内容不会更新。但要注意这会影响到该节点上所有的数据绑定:

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

  •   纯html

        双大括号会将数据解释为纯文本,而不是把html里的解释成文本。为了能够输出html的真正文本,需要用到v-html指令。

          <div v-html=‘rawHtml‘></div>

  •   属性

        Mustache不能在HTML属性中使用,应使用v-bind指令:

          <div v-bind:id=‘dynamicId‘></div>

        这对布尔值的属性也有效——如果条件被求值为false的话该属性会被移除:

          <button v-bind:disable=‘someDynamicCondition‘>Button</button>

  •   使用Javascript表达式

        对于所有的数据绑定,Vue.js都提供了完全的Javascript表达式支持。

          {{ number + 1 }}

          {{ ok ? ‘YES‘:‘NO‘}}

          {{ message.split(‘‘).reserver().join(‘‘) }}

          <div v-ind:id="‘list-‘+id"></div>

          这些表达式会在所属Vue实例的数据作用域下作为Javascript被解析。有个限制就是,每个绑定都只能包含单个表达式。下面这些例子都不会生效。

              <!-- 这是语句,不是表达式 -->

              {{ var a=1 }}

              <!--流控制也不会生效,请使用三元表达式-->

            {{ if(ok){return message }}

指令

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

        eg:      <p   v-if=‘seen‘>Now you see me</p>

        这里,v-if指令将根据表达式seen的值得真假来移除/插入p元素。

  

  •   参数

        一些指令能接受一个‘参数’,在指令后以冒号指明。例如,v-bind指令被用来响应地更新HTML属性:

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

        在这里href是参数,告知v-bind指令将该元素的href属性与表达式url的值绑定。

        另一个例子是v-on指令,用于监听DOM事件:

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

        这里的参数是监听的事件名。

  •   修饰符

        修饰符(MOdifilers)是以半角句号 . 指明的特殊后缀,用于支出一个指令应该以特殊方式绑定,例如, .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 | formId‘></div>

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

    new Vue({

      //...

      filters:{

        capitalize:function (value){

          if(!value) return ‘‘

          value = value.toString()

          return value.charAt(0).toUpperCase()+value.slice(1)

          }

         }

    })

charAt(参数):返回参数指定位置的字符串。例子中,参数为0,返回第一位字符串。

   toUpperCase():将字符串对象大写。

   splice(参数):返回一个字符串,参数为start位置,若无第二个参数,则最后一个字符串为end位置。

     过滤器可以串联:

        {{message | filterA | filterB }}

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

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

     这里,支付窗’arg1‘将传给过滤器作为第二个参数,arg2表达式的值将被求值然后传给过滤器作为第三个参数。

缩写

  •   v-bind缩写

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

        缩写:<a :href=‘url‘></a>

  •   v-on缩写

      <button v-on:click=func()></button>

        缩写:<button @click=func()></button>

时间: 2024-10-13 05:00:08

vue爬坑之路3的相关文章

vue 爬坑之路---can&#39;t resolve &#39;sass-loader&#39;

环境设置好以后 本以为可以开心的写代码了, 谁料到如下报错,大概意思就是不能编译 sass-loader 这个玩意. 那怎么办?? 安装依赖,不然能怎么办? 第一个依赖: npm install sass-loader 第二个依赖: npm install node-sass 这样安装了之后,然后npm run dev  ,世界一片祥和~ vue 爬坑之路---can't resolve 'sass-loader' 原文地址:https://www.cnblogs.com/liuguoying/

Vue 爬坑之路(二)—— 组件之间的数据传递

Vue 的组件作用域都是孤立的,不允许在子组件的模板内直接引用父组件的数据.必须使用特定的方法才能实现组件之间的数据传递. 首先用 vue-cli 创建一个项目,其中 App.vue 是父组件,components 文件夹下都是子组件. 一.父组件向子组件传递数据 在 Vue 中,可以使用 props 向子组件传递数据. 子组件部分: 这是 header.vue 的 HTML 部分,logo 是在 data 中定义的变量. 如果需要从父组件获取 logo 的值,就需要使用 props: ['lo

vue爬坑之路2

构造器 每个vue.js应用都是通过构造函数Vue穿件一个Vue的根实例启动的: var vm = new Vue({ //选项 }) 在实例化Vue时,需要传入一个选项对象,他可以包含数据,模板,挂在元素,方法,生命周期钩子等选项. vue构造器是可扩展的,实际上,所有的vue.js组件其实都是被扩展的vue实例. var MyComponent = Vue.extend({ //扩展选项 }) //所有的'MyComponent'实例都将以预定义的扩展选项被创建 var myComponen

细数vue爬坑之路&lt;坑路大集合&gt;

坑爹集锦一: npm出现Newline required at end of file but not found错误 原因:以vue为后缀名的组件结尾没有换行 解决办法:在结尾后面换行..如下图 解决前: 解决后: 这样设置后,之前的页面瞬间脉动回来!!!

Vue 爬坑之路(一)—— 使用 vue-cli 搭建项目 (增补)

cd  指定好安装目录 vue init webpack  项目名称 执行  vue vue list  查看可应用模板 vue init webpack  +名字 项目已启动 原文地址:https://www.cnblogs.com/dianzan/p/8570656.html

(转)Vue 爬坑之路(三)—— 使用 vue-router 跳转页面

使用 Vue.js 做项目的时候,一个页面是由多个组件构成的,所以在跳转页面的时候,并不适合用传统的 href,于是 vue-router 应运而生. 官方文档: https://router.vuejs.org/zh-cn/essentials/getting-started.html 有很多朋友找我要 demo,但是博客中的这个案例被我删掉了,我只好随手写了一个超简单的 demo,希望能有所帮助 链接: https://pan.baidu.com/s/1pMfi5tD  密码: pjwx 这

Vue 爬坑之路(一)—— 使用 vue-cli 搭建项目

vue-cli 是一个官方发布 vue.js 项目脚手架,使用 vue-cli 可以快速创建 vue 项目,GitHub地址是:https://github.com/vuejs/vue-cli 一. 安装 node.js 首先需要安装node环境,可以直接到中文官网http://nodejs.cn/下载安装包. 只是这样安装的 node 是固定版本的,如果需要多版本的 node,可以使用 nvm 安装http://blog.csdn.net/s8460049/article/details/52

Vue 爬坑之路(四)—— 与 Vuex 的第一次接触

在 Vue.js 的项目中,如果项目结构简单, 父子组件之间的数据传递可以使用  props 或者 $emit 等方式 http://www.cnblogs.com/wisewrong/p/6266038.html 但是如果是大型项目,很多时候都需要在子组件之间传递数据,使用之前的方式就不太方便.Vue 的状态管理工具 Vuex 完美的解决了这个问题. 一.安装并引入 Vuex 项目结构: 首先使用 npm 安装 Vuex cnpm install vuex -S 然后在 main.js 中引入

多线程爬坑之路-Thread和Runable源码解析之基本方法的运用实例

前面的文章:多线程爬坑之路-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类) 多线程爬坑之路-Thread和Runable源码解析 前面大致的了解了Thread的一些方法和属性下面对一些方法进行运用看看具体效果<下面可能还是会贴很多的源代码,其实我是拒绝的,我只想贴每个方法的代码,但是有时候看到一个方法里面有调用了方法,但是笔者有没有给出来,很蛋疼,有种爽到一半的感觉,所以我还是会把它贴出来,希望一次就能挖到底,不论有没有全懂,但至