Vue实例—— 计算属性(computed)、 watch 状态监听和filter 过滤器

简介: Vue实例—— 计算属性(computed)、 watch 状态监听和filter 过滤器

Vue实例配置对象


image.png


计算属性(computed)


格式:computed:{ 变量(){ 计算表达式} }

<p>总价格为:{{sum}}</p>
var app=new Vue({
el:"#app",
data:{
price:10,
num:0
},
//按钮事件自增,自减事件
menthods:{
  add:function(){
      this.num++;
  },
   end:function(){
        this.num--;
   },
},
    computed:{
      sum(){
          return this.price*this.num
      }
    }
})


watch 状态监听(用来监听事件的变化)


注意:监听名要与被监听名相同,监听上一个数据,和新的数据。(应用场景:数据发生改变需要保存新数据或者需要查看以前的数据)

<!-- -->
<body>
    <div id="app">
        <input type="text" v-model="name"><br>
        <input type="text" v-model="home">
    </div>
    <script>
        var app = new Vue({
            el: "#app",
            data: {
                name: "上海",
                home:"北京"
            },
            watch: {
                name(newvalue, oldvaule) {
                    console.log("新城市:" + newvalue)           //新的值
                    console.log("旧的城市:" + oldvaule)           //旧的值
                },
                    home(newvalue,oldvaule){
                    console.log("新家:" + newvalue)    //新的值
                    console.log("旧家:" + oldvaule)    //旧的值
                    }
                },
        });
    </script>
</body>
watch: {  
     //简写
     name(newvalue, oldvaule) {
    console.log("新城市:" + newvalue)           //新的值
     console.log("旧的城市:" + oldvaule)           //旧的值
                },
      //全写
      name:{
      immediate:true,  //是否初始化时执行  
       handler(newvalue,oldvalue){
      console.log("新城市:" + newvalue)           //新的值
      console.log("旧的城市:" + oldvaule)           //旧的值
                  }
                }
     }


filter 过滤器


filter 过滤器,(对数进行格式化,比如字符串首字母大写,日期格式化等据)在页面中直接操作数据,返回最终结果。

<body>
    <div id="app">
        {{mis | bag}}
    </div>
    <script>
        var app = new Vue({
            el: "#app",
            data: {
              mis: "hello world",         //小写转大写
            },
        filters:{
         bag(value){
         return  value?value.toUpperCase():""  
         }    
        }
        });
    </script>
</body>
相关文章
|
17天前
|
存储 缓存 JavaScript
如何在大型 Vue 应用中有效地管理计算属性和侦听器
在大型 Vue 应用中,合理管理计算属性和侦听器是优化性能和维护性的关键。本文介绍了如何通过模块化、状态管理和避免冗余计算等方法,有效提升应用的响应性和可维护性。
|
2月前
|
监控 JavaScript 开发者
在 Vue 中,子组件为何不可以修改父组件传递的 Prop,如果修改了,Vue 是如何监控到属性的修改并给出警告的
在 Vue 中,子组件不能直接修改父组件传递的 Prop,以确保数据流的单向性和可预测性。如果子组件尝试修改 Prop,Vue 会通过响应式系统检测到这一变化,并在控制台发出警告,提示开发者避免这种操作。
|
2月前
|
缓存 JavaScript Serverless
vue中computed计算属性、watch侦听器、methods方法的区别以及用法
vue中computed计算属性、watch侦听器、methods方法的区别以及用法
118 0
|
JavaScript 前端开发
重读vue电商网站41之自定义格式化时间的全局过滤器
重读vue电商网站41之自定义格式化时间的全局过滤器
112 0
重读vue电商网站41之自定义格式化时间的全局过滤器
|
前端开发 JavaScript
Vue自定义过滤器
在进行前端开发时,我们难免需要进行一些数据的特定处理,因此我们只需在main.js中定义过滤器,即可多次使用。
|
JSON JavaScript 数据格式
|
11天前
|
缓存 JavaScript 前端开发
vue学习第四章
欢迎来到我的博客!我是瑞雨溪,一名热爱JavaScript与Vue的大一学生。本文介绍了Vue中计算属性的基本与复杂使用、setter/getter、与methods的对比及与侦听器的总结。如果你觉得有用,请关注我,将持续更新更多优质内容!🎉🎉🎉
27 1
vue学习第四章
|
11天前
|
JavaScript 前端开发
vue学习第九章(v-model)
欢迎来到我的博客,我是瑞雨溪,一名热爱JavaScript与Vue的大一学生,自学前端2年半,正向全栈进发。此篇介绍v-model在不同表单元素中的应用及修饰符的使用,希望能对你有所帮助。关注我,持续更新中!🎉🎉🎉
23 1
vue学习第九章(v-model)
|
11天前
|
JavaScript 前端开发 开发者
vue学习第十章(组件开发)
欢迎来到瑞雨溪的博客,一名热爱JavaScript与Vue的大一学生。本文深入讲解Vue组件的基本使用、全局与局部组件、父子组件通信及数据传递等内容,适合前端开发者学习参考。持续更新中,期待您的关注!🎉🎉🎉
24 1
vue学习第十章(组件开发)
|
17天前
|
JavaScript 前端开发
如何在 Vue 项目中配置 Tree Shaking?
通过以上针对 Webpack 或 Rollup 的配置方法,就可以在 Vue 项目中有效地启用 Tree Shaking,从而优化项目的打包体积,提高项目的性能和加载速度。在实际配置过程中,需要根据项目的具体情况和需求,对配置进行适当的调整和优化。