• vue3学习笔记--1.


     一  关于vue对象的绑定和微信小程序的不同点.


    在参加字节跳动的暑假训练营组队后,队伍决定用vue完成项目,于是便开始学习vue框架,以下是学习时的一些感想和笔记.

    1.和微信小程序不同的是 vue在容器的属性里想要实现动态效果需要这样写:

    1. <div class="hello">hello,{{name}}
    2. <div :class="class1">?div>
    3. <div v-bind:class="class1">?div>
    4. div>
    5. <script type="text/javaScript" src="../js/vue.js">script>
    6. <script type="text/javaScript">
    7. Vue.config.productionTip=false
    8. const x = new Vue({
    9. el:'.hello',
    10. data:{
    11. name:'李明',
    12. class1:'你好',
    13. },
    14. });
    15. script>

    而微信小程序可以直接查找变量名:

    1. <view class="list">
    2. <view class="{{thing[index].str==nowThing ? 'item1':'item'}}" wx:for="{{thing}}" data-index="{{index}}" bindtap="thing">
    3. {{thing[index].str}}view>
    4. view>

    *:v-bind:为单向绑定,只能从js指向html,而v-model为双向绑定.但只能用于html中的表单元素元素.

    2.一个实例化vue对象只能绑定一个HTML容器,一个HTML容器只能绑定一个vue对象,双方是一一对应关系.

    3.vue实例绑定html的两种方法:

    1. const x = new Vue({
    2. el:'.hello',
    3. data:{
    4. name:'李明',
    5. class1:'你好',
    6. },
    7. });

     第二种:更加灵活,可添加其他函数或判断.

    1. const x = new Vue({
    2. // el:'.hello',
    3. data:{
    4. name:'李明',
    5. class1:'你好',
    6. },
    7. });
    8. setTimeout(() => {
    9. x.$mount(".hello")
    10. }, 1000);

    4.data的两种写法:

    1.

    1. data:{
    2. name:'李明',
    3. class1:'你好',
    4. },

    2.

    1. data(){
    2. return{
    3. name:'李明',
    4. class1:'你好'
    5. }
    6. }

    *:所有由vue管理的函数都不能写成=>函数,因为这样会将this所指从vue替换为Window. 

    5.数据代理

    Object.defineProperty方法,通过该方法来实现数据代理,通过一个对象代理来对另一个对象的属性来进行(读/写).

    1. let number = 18
    2. let person = {
    3. name: '张三',
    4. sex: '男',
    5. }
    6. Object.defineProperty(person, 'age', {
    7. // value:18,
    8. // enumerable:true, // 控制属性是否可以枚举,默认值是false
    9. // writable:true, // 控制属性是否可以被修改,默认值是false
    10. // configurable:true // 控制属性是否可以被删除,默认值是false
    11. // 当有人读取person的age属性时,get函数(getter)就会被调用,且返回值就是age的值
    12. get() {
    13. console.log('有人读取age属性了')
    14. return number
    15. },
    16. // 当有人修改person的age属性时,set函数(setter)就会被调用,且会收到修改的具体值
    17. set(value) {
    18. console.log('有人修改了age属性,且值是', value)
    19. number = value
    20. }
    21. })
    22. // console.log(Object.keys(person))
    23. console.log(person)

  • 相关阅读:
    verilog移位寄存器实现序列检测
    Redis的RDB与AOF持久化机制
    【数据分析-Excel】Day-036 数据分析与Excel
    2023高频前端面试题-vue
    VS Code 远程连接Linux开发环境
    网络安全(黑客)自学
    简述现代加油站的智能防雷设计及其解决措施
    第15届蓝桥杯题解
    AUTOSAR汽车电子嵌入式编程精讲300篇-基于 AUTOSAR 的混合动力汽车BMS 应用层软件开发(中)
    透视投影函数的图像
  • 原文地址:https://blog.csdn.net/kilig_CSM/article/details/125889444