¿Puede alguien decirme si hay una manera de tener dos result() en Vue computed en función de la identificación del elemento? Por ejemplo, quiero volver a #and un resultado que se reemplaza coma con AND y otro resultado para #dash que en este resultado se reemplaza con -
new Vue({ el: '#demo', data() { return { target: '', } }, computed: { result() { //if it is going to #and // return '`' + this.target.replaceAll(",", "` AND `") + '`' // If {{ result }} is #and // if it is going to #dash return '`' + this.target.replaceAll(",", "` - `") + '`' // If {{ result }} is #dash } } }) <script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script> <div id="demo"> <p id="and">You Entered {{ result }}</p> <p id="dash">You Entered {{ result }}</p> <input v-model="target" placeholder="Enter Your Target" /> </div>Puedes crear una función en su lugar:
new Vue({ el: '#demo', data() { return { target: '' } }, methods: { getSeperatedInputVal(sep) { return this.target && this.target.split(',').map(str => '`'+ str + '`').join(sep); } } }); <script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script> <div id="demo"> <p id="and">You Entered {{ getSeperatedInputVal(" AND ") }}</p> <p id="dash">You Entered {{ getSeperatedInputVal(" - ") }}</p> <input v-model="target" placeholder="Enter Your Target" /> </div>