1.computed/watch/和methods

computed是依赖于数据来变动的,有缓存,当不需要缓存的时候就用方法,watch不建议乱用,当有异步请求的时候就用watch

写法一样

2.watch

3.slot

4.添加属性

5.过滤器

<template>  <div class="hello">    <hr>    <p style="color: red;font-size: 23px">计算属性,过滤器</p>    <p v-for="item in money">      <span>{{item.money|dollor(item.money)}}</span>    </p>    <p>      <span>计算属性反转--》</span>      <span>{{bb}}</span>      <br>      <span>这个是直接在魔板里面--》魔板里面最好不要这样写因为魔板里面尽可能的简单所以呢最好用计算属性或者方法</span>      <span>{{msg.split('').reverse().join('')}}</span>    </p>    <p>方法反转: "{{ reversedMessage() }}"</p>    <hr>    <p style="color: red;font-size: 23px">keep-alive内置组件,比如一个列表打开详情,返回列表,不可能每次都去请求吧,这个组件相当于做了缓存,列表打开详情就用这个</p>    <p style="color: red;font-size: 23px">面试题why data必须是一个函数(官网有,return是一个对象,避免冲突,避免点击这个那个绑定的数据也跟着变化)</p>

    <hr>    <p>关于slot  内容分发,我的 理解就是匿名插槽你没传递东西给这个组件的话 它默认就会展示slot里面的内容,如果你传了就会覆盖这个内容,实名插槽的话,你传递的是哪个name它就显示哪个</p>

    <hr>    <p>设置属性,看代码</p>    <a @click="chose(value)" href="#" :checked="ischecked" style="width: 5px;height: 5px;border: 1px solid red;display: block"></a>  </div></template>

<script>export default {  name: 'HelloWorld',  data () {    return {      msg: '我是反转字符串',      money:[        {          name:'11',          money:100        },        {          name:'112',          money:678        }

      ],      ischecked:false    }  },//  过滤器,相当于一个钩子函数写法和methods:{}这种写法而不是函数  filters:{//      格式化人民币      dollor(money){//          这个是小数点后几位你自己定义        return '$'+money.toFixed(5)    }  },//  计算属性的东西,如果你不希望有缓存,请用方法来替代。//  对于任何复杂逻辑,你都应当使用计算属性。而不是在里面直接写、模板内的表达式非常便利,但是设计它们的初衷是用于简单运算的。 {{ message.split('').reverse().join('') }}这么写就违背了初衷  computed:{    // 计算属性的 getter      bb(){        return this.msg.split('').reverse().join('')      }  },  methods: {    reversedMessage() {      return this.msg.split('').reverse().join('')    },    chose(value){//        vue中设置属性      if(typeof value.checked==='undefiend'){//        如果没有这个属性就设置这个属性        this.$set(value,'checked',this.ischecked=true)      }else {          this.ischecked=!this.ischecked      }    }  }}</script>

<!-- Add "scoped" attribute to limit CSS to this component only --><style scoped>h1, h2 {  font-weight: normal;}ul {  list-style-type: none;  padding: 0;}li {  display: inline-block;  margin: 0 10px;}a {  color: #42b983;}</style>

VUE中过了一遍还不熟悉的东西的更多相关文章

  1. Vue 中的受控与非受控组件

    Vue 中的受控与非受控组件 熟悉 React 的开发者应该对"受控组件"的概念并不陌生,实际上对于任何组件化开发框架而言,都可以实现所谓的受控与非受控,Vue 当然也不例外.并且 ...

  2. Vue中应用CORS实现AJAX跨域,及它在 form data 和 request payload 的小坑处理

    基本概念部分(一):理解CORS 说道Vue的跨域AJAX,我想先梳理一遍CORS跨域,"跨域资源共享"(Cross-origin resource sharing),它是一个W3 ...

  3. vue中$watch源码阅读笔记

    项目中使用了vue,一直在比较computed和$watch的使用场景,今天周末抽时间看了下vue中$watch的源码部分,也查阅了一些别人的文章,暂时把自己的笔记记录于此,供以后查阅: 实现一个简单 ...

  4. vue系列---理解Vue中的computed,watch,methods的区别及源码实现(六)

    _ 阅读目录 一. 理解Vue中的computed用法 二:computed 和 methods的区别? 三:Vue中的watch的用法 四:computed的基本原理及源码实现 回到顶部 一. 理解 ...

  5. 在vue中使用jsx语法

    什么是JSX? JSX就是Javascript和XML结合的一种格式.React发明了JSX,利用HTML语法来创建虚拟DOM.当遇到<,JSX就当HTML解析,遇到{就当JavaScript解 ...

  6. 搞懂:MVVM模型以及VUE中的数据绑定数据劫持发布订阅模式

    搞懂:MVVM模式和Vue中的MVVM模式 MVVM MVVM : model - view - viewmodel的缩写,说都能直接说出来 model:模型,view:视图,view-Model:视 ...

  7. 对Vue中的MVVM原理解析和实现

    对Vue中的MVVM原理解析和实现 首先你对Vue需要有一定的了解,知道MVVM.这样才能更有助于你顺利的完成下面原理的阅读学习和编写 下面由我阿巴阿巴的详细走一遍Vue中MVVM原理的实现,这篇文章 ...

  8. Vue中Object和Array数据变化侦测原理

    在学完Vue.js框架,完成了一个SPA项目后,一直想抽时间找本讲解Vue.js内部实现原理的书来看看,经过多方打听之后,我最后选择了<深入浅出Vue.js>这本书.然而惭愧的是,这本书已 ...

  9. vue中使用stompjs实现mqtt消息推送通知

    最近在研究vue+webAPI进行前后端分离,在一些如前端定时循环请求后台接口判断状态等应用场景用使用mqtt进行主动的消息推送能够很大程度的减小服务端接口的压力,提高系统的效率,而且可以利用mqtt ...

随机推荐

  1. .NET Core开发日志——配置

    熟悉ASP.NET的开发者一定对web.config文件不陌生.在ASP.NET环境中,要想添加配置参数,一般也都会在此文件中操作.其中最常用的莫过于AppSettings与ConnectionStr ...

  2. [No0000177]详解/etc/profile、/etc/bash.bahsrc、~/.profile、~/.bashrc的用途

    之前安装Linux的一些软件时,总要修改Linux的配置文件.当时也是一知半解.而且,网上有些安装教程,会说,修改配置文件后要重启Linux.但事实上是不需要重启的. Linux安装时可能要修改的配置 ...

  3. Quick access recorder

    QAR_百度百科 https://baike.baidu.com/item/QAR/3300914

  4. Aspects源码解析(转载)

    文章来源:https://www.jianshu.com/p/2c93446d86bd

  5. C#查找字符串位置

    int i=zifuchuan.IndexOf(","); int n=(zifuchuan.SubString(i+1)).IndexOf(","); int ...

  6. 1、python同级目录及子目录模块引入

    2个模块在同一个包内时(即引入和被引入的2个py文件在同一个目录下),直接引入模块名 1.引入与被引入模块或包在同一目录下时,直接引入模块名或者包名import modulename.py或者impo ...

  7. Appium环境配置(二)

    一.使用Eclipse直接创建案例工程 1.打开Eclipse,[File]-->[New]-->[Project] 2.选择[Java Project]-->[Next] 3.输入 ...

  8. js字符串方法汇总

    1.length方法 var stringObject=new String("hellow world"); console.log(stringObject.length);/ ...

  9. JLRoutes使用

    JLRoutes 地址:https://github.com/joeldev/JLRoutes JLRoutes原理: 它是通过url scheme来实现app内部,web到app,app与app之间 ...

  10. css权重计算规则

    1.第一等:代表内联样式,如 style=" ",权值为1000: 2.第二等:代表ID选择器,如 #content,权值为0100: 3.第三等:代表类,伪类和属性选择器,如 . ...