账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    关于vue .sync修饰符
    30
    0

    vue中的sync修饰符是一种组件属性双向绑定的语法糖。假如有组件1

    var component1 = {
        template:'<div v-show="visible">我是{{title}}</div>',
        props:['title','visible']
    }

    其中visible要使用sync修饰符

    <template>
        <components1 title="我是title" :visible.sync="visible"></components1>
    </template>
    
    <script>
        export default {
            data(){
                return {
                    visible:false
                }
            }
        }
    </script>

    以上是正常的写法,那么我现在要用构造函数的形式调用components1,带有sync修饰符的属性应该怎么写

    var constructor = Vue.extend(component1)
    var vm = new constructor({
        propsData:{
            title:'我是title',
            'visible.sync':true //这样写不对,应该怎么写
        }
    })

    为什么踩我问题(手机app可以看到是谁踩了),是我问的太傻b了,还是你们都是大神,不屑于回答这种问题。

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 疯小五 普通会员 1楼

      在Vue中,.sync修饰符主要用于实现数据同步,它允许在 Vue 实例的生命周期方法中使用,以确保数据在每次修改后都能自动更新。以下是一些常见的使用 .sync 修饰符的示例:

      1. 配置缓存(默认情况下,Vue 不会缓存数据,如果需要缓存数据,可以使用 cache: true

      javascript data() { return { user: { name: 'John Doe', age: 30, }, }; }, methods: { // ... async fetchData() { const user = await this.$store.dispatch('getUser'); this.user = user; }, },

      1. 在定时器中使用 .sync 修饰符

      javascript mounted() { this.$store.dispatch('getData'); },

      1. 使用 .sync 修饰符在更新数据后立即触发视图更新

      javascript data() { return { user: { name: 'John Doe', age: 30, }, }; }, methods: { async fetchData() { this.$store.dispatch('getUser'); this.$store.dispatch('updateUser', { name: 'Jane Doe', age: 28, }); }, },

      1. 使用 .sync 修饰符在异步请求完成后立即触发视图更新

      javascript async fetchData() { await fetch('/api/user'); this.user = await this.$store.dispatch('getUser'); },

      请注意,.sync 修饰符不适用于Vue 实例的 createdmounted 生命周期方法,因为这两个方法在数据初始化时就已经触发了。对于这两个生命周期方法,.sync 修饰符的使用并不推荐。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部