laravel 中的 Javascript 函数未定义

标签 javascript laravel laravel-5

我在我的 app.js 中添加了一个 js 方法:

require('./bootstrap');

window.Vue = require('vue');

Vue.component('example', require('./components/Example.vue'));

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

function hello()
{
    alert("hello");
}

然后编译我的资源并将 app.js 添加到我的 View 中:

<script src="{{ asset('js/app.js') }}"></script>

如果此时加载我的 View 并查看源代码,我可以看到指向 app.js 的链接,如果我打开该 app.js,我可以在其中看到我的 hello 方法以及许多其他内容。

现在,当我想调用我的方法时,我尝试这样做:

<a onclick="hello();">

但是在我的控制台中我得到了一个 Uncaught ReferenceError: hello is not defined 错误。可能是什么问题?

最佳答案

Laravel mix 倾向于将所有 js Assets 编译成一个不错的 webpackage,但这意味着您的函数实际上并不在全局范围内,因为它们都包含在 immediately invoked function expressions (iife) 中。 .

你需要:

window.hello = function () {
     alert("Hello");
}

然而,这通常不是最好的策略,理想情况下你会在你的 vue 中添加一个事件处理程序。

关于laravel 中的 Javascript 函数未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45444537/

相关文章:

javascript - 验证 $index 并设置样式

laravel - 查看 [auth.login] 未找到 laravel 5

laravel - 不能在有状态组件根元素上使用 v-for 因为它呈现多个元素?

php - Laravel 5 获取三级关系

php - 如何在生产服务器中配置 Laravel 5.2.41(Redhat 7 with Apache 和 Mysql)

javascript - csv将列交换为行javascript

javascript - 在 Javascript 中随机播放嵌套数组

javascript - 运行 javascript 库(照片球查看器)的问题

php - Laravel 5.2 模型 $fillable 被忽略了吗?

php - laravel 迁移 :rollback wrong