那么如果我使用window,有什么不同呢?app in main.js in Vue而不是const app?
import question from './components/Questions.vue';
Vue.http.headers.common['X-CSRF-TOKEN'] = window.Laravel.csrfToken;
window.App = new Vue({
el: '#app',
components: { question }
});
不是
import question from './components/Questions.vue';
Vue.http.headers.common['X-CSRF-TOKEN'] = window.Laravel.csrfToken;
const app = new Vue({
el: '#app',
components: { question }
});
所以我使用window的原因。app,因为我想使用外部jQuery函数从问题组件调用一个方法来执行Vue方法,如app .component. method(),然后它工作。但这种方法安全吗?
每个浏览器都有内置的window
对象,可以从客户端java脚本的任何地方访问
https://developer.mozilla.org/en-US/docs/Web/API/Window
所以如果你使用
window.App = new Vue({
el: '#app',
components: { question }
});
然后你将变量App
分配给window
对象,这样你就可以使用App
在应用程序的任何地方获得值实例
和
const app = new Vue({
el: '#app',
components: { question }
});
那么你就不能在应用程序的任何地方访问app
变量