VUE学习

VUE学习
第一步:vue引入 使用script标签引入

插值表达式 {{ 表达式 }} 另为规范必须前后括号有一个空格
var vm = new Vue({
el: ‘#app’,
data: {
a: 10
}
})
vm.a=100;
vm. e l . i n n e r H T M L 10 / / 异 步 代 码 晚 于 同 步 代 码 , 获 取 的 为 之 前 未 改 动 时 的 值 v m . el.innerHTML 10 //异步代码晚于同步代码,获取的为之前未改动时的值 vm. el.innerHTML10//vm.nextTick()// vm. n e x t T i c k / / d o n 执 行 完 后 执 行 可 获 取 更 改 后 值 / / v m . a / / 可 拿 到 a 的 值 / / v m . nextTick //don执行完后执行可获取更改后值 // vm.a//可拿到a的值 // vm. nextTick//don//vm.a//a//vm.data//可拿到data里所有值
// vm.$el//vm上的元素

//vm.$mount('#app')   d等于new Vue内的el: '#app'  两者二选一
<!-- 1. v-bind 绑定属性 (v-bind <==> : ) -->
<!-- class  []{}-->
<!-- style  {}[] -->

//绑定多个class、属性只认第一个

方法放到methods里此时this为vm.data
//data里方法能正常执行但此时this为window
另 click事件里多参数时使用指e

<!-- v-else -->
<!-- v-else-if -->

<!-- v-show 控制元素的显示与隐藏-->
<!-- 区别 -->
<!-- 1. v-if控制的dom的移除/添加,v-show控制dom的样式显示与隐藏 -->
        <!-- 频繁的显示/隐藏要使用v-show -->
        <!-- 只判断一次时,使用v-if -->
<!-- 2.v-if可以卸载template上,v-show不写,写了也没用 -->

template实际生成HTML元素中没有
    <!-- 命名任意但尽量不要与数据里名字一样,不冲突,但无法使用数据里的值 -->
<!-- input text -->
<!-- textarea -->
<!-- input checkbox -->
<!-- input radio -->
<!-- select -->
<!-- computed 计算属性 -->
<!-- data > methods > computed -->

<!-- methods:想要写逻辑,比如触发一个事件或在某函数里写另一个函数封装时 -->
<!-- computed:想得到一个新的值 -->
<!-- watch:想要在某个属性改变时做什么事时 -->

 <div id="app">
    <!-- 姓名:{{ name }} 年龄:{{ age }} -->
    <!-- {{ desc() }} -->
    <!-- {{ looks }} -->

    <!-- {{ desc }}
    {{ looks }} -->

    {{ desc }}
    {{ looks }}
</div>

<script>
    var vm = new Vue({
        el: '#app',
        data: {
            name: '杉杉',
            age: 18,
            looks: 'very beautiful',
            // desc: '姓名:杉杉 年龄:18'
        },
        methods: {
            //在页面上使用数据,当改变造成重新渲染时函数会重新执行
            // desc() {
            //     console.log("---methods---")
            //     // ${}可以配合反单引号完成拼接字符串的功能
            //     return `姓名:${this.name} 年龄:${this.age}`;
            // }
        },
        watch: {
            //在观察的数据改变时才执行
            // name() {
            //     console.log("----watch----")
            //     this.desc = `姓名:${this.name} 年龄:${this.age}`;
            // },
            // age() {
            //     this.desc = `姓名:${this.name} 年龄:${this.age}`;
            // }
        },
        computed: {
            //只有涉及到的属性更改时才执行
            desc() {
                console.log("---computed---");
                return `姓名:${this.name} 年龄:${this.age}`;
            }
        }
    })
</script>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值