V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
midknight
V2EX  ›  问与答

Vue 如何优雅地获取子组件的数据?

  •  
  •   midknight · Dec 3, 2019 · 2655 views
    This topic created in 2338 days ago, the information mentioned may be changed or developed.

    目前在写某后台管理系统项目中的表格组件。该组件会根据传入的对象类型向后台请求对应对象的列表并进行渲染。问题是,当这个组件的父组件需要获取它的对象列表时,直接如下面这样获取:

    var objs = this.$refs.objTable.objs
    

    是否足够合适(优雅)? 目前还没考虑用 vuex,感觉项目规模不大。

    6 replies    2019-12-04 10:44:41 +08:00
    Jarvis0
        1
    Jarvis0  
       Dec 3, 2019
    项目规模不大,不用过度追求优雅了,这样就 OK
    Jarvis0
        2
    Jarvis0  
       Dec 3, 2019
    当然可以通过获取数据成功后,`&emit`一个事件把数据传到父组件管理
    hoyixi
        3
    hoyixi  
       Dec 3, 2019
    数据应该由父组件传递给子组件,或者集中管理( Vuex )。否则各个子组件胡乱维护数据,很快乱套
    fhw12372
        4
    fhw12372  
       Dec 4, 2019
    2l 正解,应该也是官方推荐用法
    Newyorkcity
        5
    Newyorkcity  
       Dec 4, 2019 via Android
    midknight
        6
    midknight  
    OP
       Dec 4, 2019
    @fhw12372 想了想有道理,子组件获取是网络请求,的确应该以事件形式异步传递。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5983 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 06:15 · PVG 14:15 · LAX 23:15 · JFK 02:15
    ♥ Do have faith in what you're doing.