博主网站(未完善)
博主首页

目录

01图标库
02插件安装

01条件渲染
02列表渲染
03模板渲染
04计算属性
05侦听器
06样式绑定
07样式
08事件
09表单输入绑定
10生命周期
11组件
12脚手架
13vue-router
14vuex
15拖拽
16组件间传递

01HTML元素
02CSS样式

01filter、find……
02匿名函数……
03动态拼接地址
04vh、vm
05vue中ref
06js类型判断
07插槽
08富文本编辑器
09javaScript
10watch监听
11依赖注入
12ES6运算符
13flex-direction
14本地存储
15随机颜色
16中间延申
17多次触发问题
18nvm安装
19表单数据动态
20持久化存储
21$nextTick
22::v-deep
23tab失灵
25封装表单验证
26电梯导航栏
27页面滚动渐入动画

css3基础01

01bs列表
02bs栅格
03bs表单
更新中......

vue基础---05侦听器

00.watch(普通监听属性)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="../js/vue.js"></script>
</head>
<body>
    Vue 提供了一种更通用的方式来观察和响应 Vue 实例上的数据变动:侦听属性。
    <div id="app">
        {{msg}}
    </div>
    <script type="text/javascript">
        var app=new Vue({
            el:"#app",
            data:{
                msg:"hello word!"
            },
            watch:{//监听事件,当mag值发生改变时,就会触发下面的函数
                msg:function(val){//val表示修改后的内容
                    console.log("监听事件-----msg");
                }
            }
        })
    </script>
</body>
</html>
<!-- 在控制台输入app.msg="hello"修改msg来触发监听 -->

01.使用普通函数的形式定义的 watch 侦听器,在页面首次加载后不会被调用。

watch: {
   // 定义 total 侦听器,指向一个配置对象
   total: {
      // handler 属性用来定义侦听器的 function 处理函数
      handler(newVal) {
         const findResult = this.options.find(x => x.text === '购物车')
         if (findResult) {
            findResult.info = newVal
         }
      },
      // immediate 属性用来声明此侦听器,是否在页面初次加载完毕后立即调用
      immediate: true
   }
}

  

02.get和set

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="../js/vue.js"></script>
</head>
<body>
    <div id="app">
        set设置后的值:{{msg}}<br/>
        get获取的值显示在这里:{{reverseMsg}}</h1>
    </div>
    <script type="text/javascript">
        var app=new Vue({
            el:"#app",
            data:{
                msg:"hello word"
            },
            computed:{
                reverseMsg:{
                    // get:function(){
                    //     return this.msg.split("").reverse().join("")
                    // }, 
                    // set:function(value){
                    //     this.msg=value.split("").reverse().join("") 
                    // }
                },
                reverseMsg:function(){
                    return this.msg.split("").reverse().jojn("")
                }
            },
            watch:{
                msg:function(val){
                        console.log("监听事件---msg");
                }
            }
        })
    </script>
</body>
</html>

 

posted @ 2021-09-10 11:51  !ment  阅读(77)  评论(0编辑  收藏  举报