assassinator_567 2023-08-05 17:24 采纳率: 0%
浏览 6

vue组件间传值.sync不生效

// 属性绑定
<c-drop :isOpen.sync="row.isFold">
//  写法一
initData(data) {
            this.dataList = cloneDeep(data);
            this.dataList = this.dataList.map((e, i) => {
                e['isFold'] = true;
                if(i === 0) {
                    e['isFold'] = false;
                }
                return e;
            })
        },
// 写法二
initData(data) {
           let arr = cloneDeep(data);
            this.dataList = arr.map((e, i) => {
                e['isFold'] = true;
                if(i === 0) {
                    e['isFold'] = false;
                }
                return e;
            })
        },

不知道为啥,第一种写法.sync不生效,第二种写法却可以动态绑定

  • 写回答

2条回答 默认 最新

  • 家有娇妻张兔兔 Java领域优质创作者 2023-08-05 17:59
    关注

    Vue 的更新机制导致对数组直接进行修改的时候不一定能触发响应式更新
    你第二种是用了个新的数组操作再赋值的,这样写VUE能响应式更新

    评论

报告相同问题?

问题事件

  • 创建了问题 8月5日

悬赏问题

  • ¥15 运动想象脑电信号数据集.vhdr
  • ¥15 三因素重复测量数据R语句编写,不存在交互作用
  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目