跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 绑定的属性必须提前声明么?
未分類
15 5 月 2020

绑定的属性必须提前声明么?

绑定的属性必须提前声明么?

資深大佬 : cs3230524 5

如果我单向绑定只做展示,有没有不提前声明就能渲染模板的方法?现在模板和填充的数据都有可能是动态的,不能提前声明出来。大家怎么处理这个需求的?
大佬有話說 (12)

  • 資深大佬 : cydysm

    computed ?

  • 資深大佬 : shintendo

    想象不出“不能提前声明”的场景,能举个例子么

  • 資深大佬 : gouflv

    对象内部的属性可以动态添加

  • 主 資深大佬 : cs3230524

    @shintendo 例如我有许多报告要打印,这些报告模板是后台维护的,报告的字段是用户定义的,所以是动态的。

  • 資深大佬 : rabbbit

    如果是指 data 里的属性的话, 可以用 Vue.set 方法

  • 主 資深大佬 : cs3230524

    换个方法吧,有没有办法让 data 里不存在的属性在模板渲染的时候不报错?
    例如:
    var vm = new Vue({
    el: “#app”,
    data:{
    a:”test”
    }
    })

    ….

    <td>{{b}}</td>
    ….

  • 主 資深大佬 : cs3230524

    能不能让不存在的属性 b,在渲染的时候不报错?

  • 資深大佬 : Messiahhh

    给个空字符串不好吗

  • 資深大佬 : JasonSi

    @cs3230524 data 里定义一个对象 obj,你用户动态的属性都赋值给 obj,然后 obj.b 就行了呗? 如果要自动更新 ui,每次给 obj 赋值直接替换对象,而不是 obj.b=something ;或者 this.$set

  • 資深大佬 : murmur

    不需要,可以用$set 进行设置,点号赋值有时候未必能响应,但是如果一开始就是不响应的属性,$set 可能都没用,必须先把旧的属性删了

  • 資深大佬 : zysuper

    data 里定义一个对象 obj, 然后用 immer 库修改 obj,最后把

    data.obj = produce(baseState, draftState => {
    draftState.push({todo: “Tweet about it”})
    draftState[1].done = true
    })

    react 用户说。;)

  • 資深大佬 : weikexin

    @cs3230524
    可以避免 b 不存在渲染时报错

    ` <td v-if=”b”>{{b}}</td> `

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具