1
cydysm 2020-05-10 15:05:12 +08:00 via iPhone
computed ?
|
2
shintendo 2020-05-10 15:08:58 +08:00
想象不出“不能提前声明”的场景,能举个例子么
|
3
gouflv 2020-05-10 15:17:01 +08:00 via iPhone
对象内部的属性可以动态添加
|
5
rabbbit 2020-05-10 15:24:48 +08:00
如果是指 data 里的属性的话, 可以用 Vue.set 方法
|
6
cs3230524 OP 换个方法吧,有没有办法让 data 里不存在的属性在模板渲染的时候不报错?
例如: var vm = new Vue({ el: "#app", data:{ a:"test" } }) .... <td>{{b}}</td> .... |
7
cs3230524 OP 能不能让不存在的属性 b,在渲染的时候不报错?
|
8
Messiahhh 2020-05-10 15:40:43 +08:00
给个空字符串不好吗
|
9
JasonSi 2020-05-10 16:07:29 +08:00 via iPhone
@cs3230524 data 里定义一个对象 obj,你用户动态的属性都赋值给 obj,然后 obj.b 就行了呗? 如果要自动更新 ui,每次给 obj 赋值直接替换对象,而不是 obj.b=something ;或者 this.$set
|
10
murmur 2020-05-10 16:18:19 +08:00
不需要,可以用$set 进行设置,点号赋值有时候未必能响应,但是如果一开始就是不响应的属性,$set 可能都没用,必须先把旧的属性删了
|
11
zysuper 2020-05-10 16:32:52 +08:00
data 里定义一个对象 obj, 然后用 immer 库修改 obj,最后把
data.obj = produce(baseState, draftState => { draftState.push({todo: "Tweet about it"}) draftState[1].done = true }) react 用户说。;) |
13
ghosthcp516 2020-06-04 10:46:16 +08:00
computed b () { return this.b || '' }
|