Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
hello-uvue
提交
386d97ce
H
hello-uvue
项目概览
DCloud
/
hello-uvue
通知
398
Star
3
Fork
10
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
H
hello-uvue
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
386d97ce
编写于
3月 18, 2025
作者:
DCloud-WZF
💬
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix(reactive): 规避 template reverse 无效问题
上级
f9fedb54
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
58 addition
and
58 deletion
+58
-58
pages/reactivity/core/reactive/reactive.uvue
pages/reactivity/core/reactive/reactive.uvue
+58
-58
未找到文件。
pages/reactivity/core/reactive/reactive.uvue
浏览文件 @
386d97ce
...
@@ -31,26 +31,26 @@
...
@@ -31,26 +31,26 @@
<view class="flex justify-between flex-row mb-10">
<view class="flex justify-between flex-row mb-10">
<text>arr2ForEachEffectCount:</text>
<text>arr2ForEachEffectCount:</text>
<text id="arr2">{{ arr2ForEachEffectCount }}</text>
<text id="arr2">{{ arr2ForEachEffectCount }}</text>
</view>
</view>
<view class="flex justify-between flex-row mb-10">
<view class="flex justify-between flex-row mb-10">
<text>arr3(reverse):</text>
<text>arr3(reverse):</text>
<text id="arr3">{{ JSON.stringify(arr3
.reverse()) }}</text>
<text id="arr3">{{ JSON.stringify(arr3
) }}</text>
</view>
</view>
<view class="flex justify-between flex-row mb-10">
<view class="flex justify-between flex-row mb-10">
<text>map2ForEachEffectCount:</text>
<text>map2ForEachEffectCount:</text>
<text id="map2">{{ map2ForEachEffectCount }}</text>
<text id="map2">{{ map2ForEachEffectCount }}</text>
</view>
</view>
<view class="flex justify-between flex-row mb-10">
<view class="flex justify-between flex-row mb-10">
<text>map3ForOfEffectCount:</text>
<text>map3ForOfEffectCount:</text>
<text id="map3">{{ map3ForOfEffectCount }}</text>
<text id="map3">{{ map3ForOfEffectCount }}</text>
</view>
</view>
<view class="flex justify-between flex-row mb-10">
<view class="flex justify-between flex-row mb-10">
<text>set2ForEachEffectCount:</text>
<text>set2ForEachEffectCount:</text>
<text id="set2">{{ set2ForEachEffectCount }}</text>
<text id="set2">{{ set2ForEachEffectCount }}</text>
</view>
</view>
<view class="flex justify-between flex-row mb-10">
<view class="flex justify-between flex-row mb-10">
<text>set3ForOfEffectCount:</text>
<text>set3ForOfEffectCount:</text>
<text id="set3">{{ set3ForOfEffectCount }}</text>
<text id="set3">{{ set3ForOfEffectCount }}</text>
</view>
</view>
<button class='mb-10' id="update-count-btn" @click="updateCount">update count</button>
<button class='mb-10' id="update-count-btn" @click="updateCount">update count</button>
<button class='mb-10' id="update-obj-str-btn" @click="updateObjStr">update obj.str</button>
<button class='mb-10' id="update-obj-str-btn" @click="updateObjStr">update obj.str</button>
...
@@ -60,9 +60,9 @@
...
@@ -60,9 +60,9 @@
<button class='mb-10' id="update-arr1-btn" @click="updateArr1(false)">update arr1 without reactive</button>
<button class='mb-10' id="update-arr1-btn" @click="updateArr1(false)">update arr1 without reactive</button>
<button class='mb-10' id="update-arr1-reactive-btn" @click="updateArr1(true)">update arr1 with reactive</button>
<button class='mb-10' id="update-arr1-reactive-btn" @click="updateArr1(true)">update arr1 with reactive</button>
<button class='mb-10' id="update-arr2-forEach-effect-btn" @click="updateArr2()">update arr2</button>
<button class='mb-10' id="update-arr2-forEach-effect-btn" @click="updateArr2()">update arr2</button>
<button class='mb-10' id="update-map2-forEach-effect-btn" @click="updateMap2()">update map2 for each</button>
<button class='mb-10' id="update-map2-forEach-effect-btn" @click="updateMap2()">update map2 for each</button>
<button class='mb-10' id="update-map3-forOf-effect-btn" @click="updateMap3()">update map3 for of</button>
<button class='mb-10' id="update-map3-forOf-effect-btn" @click="updateMap3()">update map3 for of</button>
<button class='mb-10' id="update-set2-forEach-effect-btn" @click="updateSet2()">update set2 for each</button>
<button class='mb-10' id="update-set2-forEach-effect-btn" @click="updateSet2()">update set2 for each</button>
<button class='mb-10' id="update-set3-forOf-effect-btn" @click="updateSet3()">update set3 for of</button>
<button class='mb-10' id="update-set3-forOf-effect-btn" @click="updateSet3()">update set3 for of</button>
</scroll-view>
</scroll-view>
</template>
</template>
...
@@ -128,9 +128,9 @@
...
@@ -128,9 +128,9 @@
})
})
function updateArr2() {
function updateArr2() {
arr2.push(Date.now())
arr2.push(Date.now())
}
}
var arr3 = reactive([1, 2, 3, 4, 5])
var arr3 = reactive([1, 2, 3, 4, 5])
.reverse()
const map2 = reactive(new Map<string, number>([["a", 1]]))
const map2 = reactive(new Map<string, number>([["a", 1]]))
const map2ForEachEffectCount = ref(0)
const map2ForEachEffectCount = ref(0)
...
@@ -142,41 +142,41 @@
...
@@ -142,41 +142,41 @@
})
})
function updateMap2() {
function updateMap2() {
map2.set("c-" + Date.now(), Date.now())
map2.set("c-" + Date.now(), Date.now())
}
}
const map3 = reactive(new Map<string, number>([["a", 1]]))
const map3 = reactive(new Map<string, number>([["a", 1]]))
const map3ForOfEffectCount = ref(0)
const map3ForOfEffectCount = ref(0)
watchEffect(() => {
watchEffect(() => {
map3ForOfEffectCount.value++
map3ForOfEffectCount.value++
for(const item of map3){
for(const item of map3){
console.log("map3",item)
console.log("map3",item)
}
}
})
})
function updateMap3() {
function updateMap3() {
map3.set("c-" + Date.now(), Date.now())
map3.set("c-" + Date.now(), Date.now())
}
}
const set2 = reactive(new Set<number>([1]))
const set2 = reactive(new Set<number>([1]))
const set2ForEachEffectCount = ref(0)
const set2ForEachEffectCount = ref(0)
watchEffect(() => {
watchEffect(() => {
set2ForEachEffectCount.value++
set2ForEachEffectCount.value++
set2.forEach((item : number) => {
set2.forEach((item : number) => {
console.log('set2', item)
console.log('set2', item)
})
})
})
})
function updateSet2() {
function updateSet2() {
set2.add(Date.now())
set2.add(Date.now())
}
}
const set3 = reactive(new Set<number>([1]))
const set3 = reactive(new Set<number>([1]))
const set3ForOfEffectCount = ref(0)
const set3ForOfEffectCount = ref(0)
watchEffect(() => {
watchEffect(() => {
set3ForOfEffectCount.value++
set3ForOfEffectCount.value++
for(const item of set3){
for(const item of set3){
console.log("set3",item)
console.log("set3",item)
}
}
})
})
function updateSet3() {
function updateSet3() {
set3.add(Date.now())
set3.add(Date.now())
}
}
</script>
</script>
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录