首页 > 解决方案 > 在纯 javascript 文件中使用 vuejs 变量

问题描述

我正在用 vuejs 练习 laravel,我想知道是否可以在其他文件中使用纯 JavaScript 的 vuejs(组件)变量。我创建了 my.js 并在 app.js 中注册了它。

require('./my.js');

const app = new Vue({
    el: '#app'
});

在 my.js 我有以下代码。

alert(app.name)

name是 vuejs 组件中使用的变量。结果我收到了未定义的警报。请给我一些指导方针。

标签: javascriptlaravelvue.jsvuejs2

解决方案


您必须以正确的顺序运行代码:

function MyFunc(vm) {
  alert(vm.name)
}

const app = new Vue({
  data: {
    name: 'FooBar'
  }
});

MyFunc(app)
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>


示例 1

我的.js

export default function(vm) {
  alert(vm.name);
}

主.js

import Vue from "vue";
import MyFunc from './my';

const app = new Vue({
  data: {
    name: 'FooBar'
  }
});

MyFunc(app)

示例 2

我的.js

export default (app) => alert(app.name);

Vue.js

import Vue from 'vue';

export default new Vue({
  data: {
    name: 'FooBar'
  }
});

主.js

import bar from './vue'
import foo from './my'

foo(bar)

推荐阅读