Vue基础之插值表达式的另一种用法!附加变量的监听!
阅读原文时间:2022年05月12日阅读:1

Vue基础之插值表达式的另一种用法!附加变量的监听!

<body>
    <!-- Vue.js的应用可以分为两个重要的组成部分
    一个是视图!
    另一个是脚本!! -->
    <!-- 下面的就是视图! -->
    <div id="app">
        <h1>{{message}}</h1>
    </div>
    <!-- 下面的就是脚本! -->
    <script type="text/javascript">
    // 

    var app = new Vue({

        el:'#app', // 这个就是你要操作的元素!
        data: {
            message: 'lvhang'
        } // data用于保存数据!插值表达式!我们在视图中声明了那些变量, 就需要在data中注册同名的变量,并且对变量进行赋值!

    })
    </script>

</body>

原来的插值对象表达式是写在一个大的对象里面的!就是在app 下面的data属性里面的!

<body>
        <div id="app">
            {{name}}
        </div>
        <script type="text/javascript">
            // 每个Vue的应用都是通过Vue函数创建一个新的Vue实例开始的!

            // 通常我们都会创建一个变量来接受Vue返回的一个对象!
            // 当一个Vue实例被创建时,它将data对象中的所有的属性加入到Vue的响应式系统中,当这些属性的值发生改时,视图将会产生响应,及匹配为更新的值!
            var data = {
                name: 'lvchengxin'
            }
            var app = new Vue({
                el: '#app',
                data: data
            })
            // data.name = 'daxia'
            // data.$name = 'lvhang!'; // lvchengxin
            // app.name = 'chengdu'

            // 上面的就是 数据属性!
            // 除了数据属性,Vue实例还暴露了一些有用的实例属性与方法,它们都有前缀$.以便与用户定义的属性区分开来,例:
            // $watch 是一个实例方法! 方法要放在你监听的变量名或属性名之前!
                        // 第一个参数就是你要观察那个变量的变化!
                        // 第二个参数就是回调函数!回调函数有两个参数,第一个是最新的值, 第二个是原来的值!
            app.$watch('name', function(newVal, oldVal) {
                console.log(newVal) // xiaoxia
                console.log(oldVal) // lvchengxin
            } )
                        app.$data.name = 'xiaoxia'; // xiaoxia
        </script>

    </body>