在vueJs中使用Computed Properties中的方法

Yas*_*awi 10 methods properties vue.js

我正在尝试调用计算属性中的方法.我的代码更复杂,但调用方法似乎在这个简单的例子中不起作用:

new Vue({
  el: '#vue-instance',
  data: {
    x: 1
  },
  methods: {
    augmented: function(variable) {
      return (2 * variable);
    },
  },
  computed: {
    doubleX: function() {
      return augmented(this.x);
    }
  }
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.16/vue.min.js"></script>
<div id="vue-instance">
  <input type="number" v-model="x"> result: {{ doubleX }}
</div>
Run Code Online (Sandbox Code Playgroud)

正如您通过运行代码段所看到的那样,doubleX未呈现的值.

tha*_*ksd 22

您需要通过this以下方式引用组件的方法:

var vm = new Vue({
  el: '#vue-instance',
  data: {
    x: 1
  },
  methods: {
    augmented: function(variable) {
      return (2 * variable);
    },
  },
  computed: {
    doubleX: function() {
      return this.augmented(this.x);
    }
  }
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.3.4/vue.min.js"></script>

<div id="vue-instance">
  <input type="number" v-model="x"> result: {{ doubleX }}
</div>
Run Code Online (Sandbox Code Playgroud)

  • 是的,就像`{{augmented(2)}}` (2认同)