Vue.js学习系列(二十八)-- 计算属性(二)

来源:互联网 发布:免费下载听书软件 编辑:程序博客网 时间:2024/04/29 14:10

2. computed  methods区别

我们可以使用 methods 来替代 computed,效果上两个都是一样的,但是 computed 是基于它的依赖缓存,只有相关依赖发生改变时才会重新取值。而使用 methods ,在重新渲染的时候,函数总会重新调用执行。

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>Document</title>

<script src="src/vue.min.js"></script>

</head>

<body>

<div id="app">

  <p>原始字符串: {{ message }}</p>

  <p>计算后反转字符串: {{ reversedMessage }}</p>

  <p>使用方法后反转字符串: {{ reversedMessage2() }}</p>

</div>

<script type="text/javascript">

 var vm = new Vue({

  el: '#app',

  data: {

    message: '51code!'

  },

  computed: {

    // 计算属性 getter

    reversedMessage: function () {

      // `this` 指向 vm 实例

      return this.message.split('').reverse().join('')

    }

  },

  methods: {

    reversedMessage2: function () {

      return this.message.split('').reverse().join('')

    }

  }

})

</script>

</body>

</html>

运行结果如下:


可以说使用 computed 性能会更好,但是如果你不希望缓存,你可以使用 methods 属性。

0 0
原创粉丝点击