1. 事情的起因
最近在升级到 UniApp 3.x 后,发现 this.$scope.setData
直接修改小程序数据层,并没有像以前那样更新视图。最开始以为是 HBuilderX 版本问题,后来深入排查发现,问题根本不在这里,而是 Uni3 编译后的 WXML 变量名发生了变化!
2. 代码示例
先看看这个 Vue 代码,在 UniApp 2.x 里,this.$scope.setData
可以正常更新 renderList
:
<template>
<div
v-for="(stock, index) in renderList"
:key="stock.chooseSymbol + index"
:data-key="stock.chooseSymbol"
class="stock-item portfolio-stock-item">
<span class="stock-info-name" :class="[stock.name && stock.name.length > 14 ? 'small' : '']">
<