第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Vue遞歸組件不渲染

Vue遞歸組件不渲染

小怪獸愛吃肉 2023-09-14 22:06:10
我正在使用vue.js和vue-cli構(gòu)建一個應(yīng)用程序,您可以在其中配置訂單。用戶應(yīng)該能夠選擇是否要在每個訂單后配置另一個訂單,或者是否完成。為了實現(xiàn)這一目標,我想遞歸地重用我的訂單組件:訂單.vue:<template>  <div id="order">    <other> // just to show that I used other components here and how    <div>      <button class="CustomButton" v-on:click="finalizeOrder">        Finalize Order      </button>      <button class="CustomButton" v-on:click="configureAdditionalOrder">        Configure Additional Order      </button>    </div>    <order v-if="additionalOrder" @passOrderObject="catchOrderObjectFromRecursiveChild" @finalizeOrder="passFinalizeOrder" />  </div></template><script>import Other from '@/components/Other.vue'export default {  components: {    Other  },  data () {    return {      additionalOrder: false    }  },  methods: {    configureAdditionalOrder () {      this.buildOrderObject()      this.additionalOrder = true    },    catchOrderObjectFromRecursiveChild (order) {      this.$emit('passOrderObject', order)    },    passFinalizeOrder () {      this.$emit('finalizeOrder')    },    finalizeOrder () {      this.buildOrderObject()      this.$emit('finalizeOrder')    },    buildOrderObject () {      var order = {        name: "abc",        price: "1000"      }      this.$emit('passOrderObject', order)    }  }</script><style></style>應(yīng)用程序視圖:<template>  <div id="app">    <h1>Ordering System</h1>    <order @passOrderObject="catchOrderObject" @finalizeOrder="finalizeOrder" />  </div></template><script>import Vue from 'vue'import Order from '@/components/Order.vue'export default {  el: '#app',  components: {    Order  },  data () {    return {      finalization: false,      orderObjects: []    }  },  methods: {    finalizeOrder () {      this.finalization = true    },   catchOrderObject (order) {      this.orderObjects.push(order)    }</script>正如您所看到的,我在組件中使用了一個布爾變量,如果單擊“配置附加訂單”按鈕,該變量應(yīng)該再次顯示相同的組件。我使用自定義事件將數(shù)據(jù)傳遞到父組件 (App.vue),訂單組件只需進一步傳遞它們即可處理來自其遞歸子組件的這些事件。應(yīng)用程序本身可以工作,但是單擊按鈕來配置附加訂單除了發(fā)出自定義事件之外什么也不做。我在這里做錯了什么?
查看完整描述

1 回答

?
鳳凰求蠱

TA貢獻1825條經(jīng)驗 獲得超4個贊

對于遞歸組件,您應(yīng)該為該組件提供一個名稱:


<script>

import Other from '@/components/Other.vue'


export default {

  name:'order',// this is the component name

  components: {

    Other

  },

  data () {

    return {

      additionalOrder: false

    }

  },

...


查看完整回答
反對 回復(fù) 2023-09-14
  • 1 回答
  • 0 關(guān)注
  • 207 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號