Vue--计算属性和监听属性

灰太狼 2022-12-07 04:27 289阅读 0赞

computed:计算属性是基于它们的响应式依赖进行缓存的。只在相关响应式依赖发生改变时它们才会重新求值。这就意味着只要属性值还没有发生改变, 多次访问属性计算属性会立即返回之前的计算结果,而不必再次执行函数。如果不希望有缓存,就用函数代替。
watch:侦听属性,响应数据的变化,需要在数据命令执行异步或开销较大的操作时,这个方式最有用。watch只能监听已经存在的属性,数组的push和pop等方法不会触发监听函数
例:

  1. <body>
  2. <div id="app">
  3. 总和: {
  4. {totle}}
  5. <input v-model="question" placeholder="please input">
  6. {
  7. {answer}}
  8. 总和: {
  9. {totle(10,5)}}<!--computed传参,利用箭头函数,return的箭头函数-->
  10. 总和:{
  11. {20|totle}}
  12. </div>
  13. <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
  14. <script type="text/javascript">
  15. var app = new Vue({
  16. el:"#app",
  17. data() {
  18. return {
  19. x:1,
  20. y:4,
  21. question: '',
  22. answer: 'I cannot give you an answer until you ask a question!',
  23. }
  24. },
  25. watch: {
  26. question:function(newValue,oldValue){
  27. console.log("newValue="+newValue,"oldValue="+oldValue);
  28. this.answer = "I give you an anwser";
  29. }
  30. },
  31. computed: {
  32. // totle:function(){
  33. // var totle = this.x+this.y;
  34. // return totle;
  35. // },
  36. // //写法二
  37. // totle(){
  38. // var totle = this.x+this.y;
  39. // return totle;
  40. // },
  41. //写法三
  42. // totle:()=>{
  43. // // var totle = x+y;//不能用this,this会指向window
  44. // return (x,y)=>x+y;//箭头函数
  45. // },
  46. totle:function(){
  47. // var totle = x+y;//不能用this,this会指向window
  48. return (x,y)=>x+y;//箭头函数
  49. },
  50. },
  51. filters:{//过滤器
  52. totle:(x)=>x,
  53. },
  54. });
  55. </script>
  56. </body>

发表评论

表情:
评论列表 (有 0 条评论,289人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Vue--计算属性监听属性

    computed:计算属性是基于它们的响应式依赖进行缓存的。只在相关响应式依赖发生改变时它们才会重新求值。这就意味着只要属性值还没有发生改变, 多次访问属性计算属性会立即返回之

    相关 Vue.js监听属性

    监听属性:     watch属性为Vue的监听属性,用来监听Vue实例中数据的变动。可以是data中定义的属性(也经常这么用),也可以时Vue自带的属性,比如$route。

    相关 vue监听属性

     监听属性 本章节,我们将为大家介绍 Vue.js 监听属性 watch,我们可以通过 watch 来响应数据的变化。 以下实例通过使用 watch 实现计数器:

    相关 Vue计算属性

    计算属性   模板内的表达式非常便利,但是设计它们的初衷是用于简单运算的。在模板中放入太多的逻辑会让模板过重且难以维护。例如: <div id="example