使用Vue Js根据输入使文本可编辑/只读

时间:2018-11-13 05:20:14

标签: javascript vue.js vuejs2

我正在尝试实现以下功能:根据vue js中文本的上下文,在给定的输入中使字符串可编辑或不可编辑(只读)。

例如: 我有一条短信:我的名字是$ John Doe $ 现在我的Vue js代码应该迭代字符串,并且$之间的文本可以编辑。

HTML:
<template>
     <textarea cols="10" rows="10" disabled>{{q | makeTextEditableByCondition}}</textarea>
<input type="text" v-model="editText">
</template>
<script>
    export default {
       data() {
        q : "My name is $John Doe$ from NYC,
        editText: null,
        disabled: true
     }
filters:{
  makeTextEditableByCondition(text){
      let splittedText = text.split("$");
      let this.editText = splittedText[1]
      splittedText.splice(1,1)
      return splittedText.join(" ")
    }
</script>

但是它仍然使过程变得复杂,并且我没有获得适当的输出。

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:2)

很多事情进展不顺利:

let total = commandesGroupees.Sum(c => c.Prix)

过滤器“}”的未结束标记

  

...过滤器应为纯​​函数,并且   不应依赖于此上下文。如果您需要这个,您应该   使用计算的属性或仅使用方法https://github.com/vuejs/vue/issues/5998

这是使用compute的基本解决方案:

q : "My name is $John Doe$ from NYC",

https://jsfiddle.net/jupg4ysz/