03-vue的学习

1、Ref 获取dom元素

<input ref="inputValue" />

this.$refs.inputValue

this.$refs.inputValue.focus()  // 获取元素dom,聚焦

2、计算属性 computed

computed:计算属性,通常是根据已有的数据,计算出新的数据
例子:

// 示例:
computed: { // 计算属性,通常是根据已有的数据,计算出新数据
    completedTodos() { // 计算已完成的待办事项
        return this.todos.filter(todo => todo.completed)
    },
    unCompletedTodos() {
        return this.todos.filter(todo => !todo.completed)
    }
}
  • 计算属性是基于它们的依赖进行缓存的。
  • 计算属性只有在它的相关依赖发生改变时才会重新求值

3、Mixins

混入 (mixins) 是一种分发 Vue 组件中可复用功能的非常灵活的方式。 混入对象可以包含任意组件选项。 当组件使用混入对象时,所有混入对象的选项将被混入该组件本身的选项。

// 定义一个混入对象
var myMixin = {
  created: function () {
    this.hello()
  },
  methods: {
    hello: function () {
      console.log('hello from mixin!')
    }
  }
}
// 定义一个使用混入对象的组件
var Component = Vue.extend({
  mixins: [myMixin]
})

var component = new Component() // => "hello from mixin!"

4、侦听属性watch

监听一个数据的变化,由一个数据的变化导致其它一个或多个数据的变化或导致其它副作用。

watch:{
	Data: function(n,o){ // Data监听的数据
		this.init() // 执行的函数
	}
}

5、过滤器filter

  • 全局 Vue.filter(name, handler)
  • 局部 { filters: { name: (val) => { return '' } } }

使用

<!-- 在双花括号中 -->
{{ message | capitalize }}

<!--`v-bind`-->
<div v-bind:id="rawId | formatId"></div>

注:watch 与 computed 的区别:
watch:

  1. 支持缓存,只有依赖数据发生改变,才会重新进行计算
  2. 不支持异步,当computed内有异步操作时无效,无法监听数据的变化
  3. computed 属性值会默认走缓存,计算属性是基于它们的响应式依赖进行缓存的,也就是基于data中声明过或者父组件传递的props中的数据通过计算得到的值
  4. 如果一个属性是由其他属性计算而来的,这个属性依赖其他属性,是一个多对一或者一对一,一般用computed
  5. 如果computed属性属性值是函数,那么默认会走get方法;函数的返回值就是属性的属性值;在computed中的,属性都有一个get和一个set方法,当数据变化时,调用set方法。

computed:

1.不支持缓存,数据变,直接会触发相应的操作;
2.watch支持异步;
3.监听的函数接收两个参数,第一个参数是最新的值;第二个参数是输入之前的值;
4.当一个属性发生变化时,需要执行对应的操作;一对多;
5.监听数据必须是data中声明过或者父组件传递过来的props中的数据,当数据变化时,触发其他操作,函数有两个参数,

  • immediate:组件加载立即触发回调函数执行
  • deep: 深度监听,为了发现对象内部值的变化,复杂类型的数据时使用,例如数组中的对象内容的改变,注意监听数组的变动不需要这么做。注意:deep无法监听到数组的变动和对象的新增,参考vue数组变异,只有以响应式的方式触发才会被监听到。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值