Vuejs2 如何在Vue中从组件中的函数传递变量?

Vuejs2 如何在Vue中从组件中的函数传递变量?,vuejs2,vue-component,vue.js,Vuejs2,Vue Component,Vue.js,如何在Vue中从组件中的函数传递变量? 这是我的代码: export default { name: 'app', data: function () { return{ city1: '', city2: '', metr: 0 } }, created () { ymaps.ready(init); function ini

如何在Vue中从组件中的函数传递变量? 这是我的代码:

 export default {
    name: 'app',
      data: function () {
        return{
          city1: '',
          city2: '',
          metr: 0
        }
      },
      created () {
        ymaps.ready(init);
        function init() {
        $data.city1 = 'sdf'; // ?this to data of component?

由于您创建了一个新函数,因此函数中的
this
将不会指向Vue组件,而是指向函数本身的
this

您可以使用或保存此的引用,然后再使用它

created() {
  const self = this;

  ymaps.init(init);

  function init() {
    self.city1 = 'sdf';
  }
}
或(更好):


由于您创建了一个新函数,因此函数中的
this
将不会指向Vue组件,而是指向函数本身的
this

您可以使用或保存此的引用,然后再使用它

created() {
  const self = this;

  ymaps.init(init);

  function init() {
    self.city1 = 'sdf';
  }
}
或(更好):


可能是
this.city1='sdf'
。不,它不起作用。我将
函数init()
替换为方法,在那里
this.city1='sdf'
工作。我看到有人这样做:
$data.city1
,但我记不清到底是什么,大卫是对的。访问或设置Vue中变量的正确方法是直接访问
此.field
(在本例中为.city1)。您可以将数据引用为
this.$options.data
。。为什么要买呢?可能是
this.city1='sdf'
。不,它不起作用。我将
函数init()
替换为方法,在那里
this.city1='sdf'
工作。我看到有人这样做:
$data.city1
,但我记不清到底是什么,大卫是对的。访问或设置Vue中变量的正确方法是直接访问
此.field
(在本例中为.city1)。您可以将数据引用为
this.$options.data
。。你为什么要买?