Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取流明控制器结果作为Vue.js组件_Javascript_Php_Vue.js_Vue Router_Lumen - Fatal编程技术网

Javascript 获取流明控制器结果作为Vue.js组件

Javascript 获取流明控制器结果作为Vue.js组件,javascript,php,vue.js,vue-router,lumen,Javascript,Php,Vue.js,Vue Router,Lumen,实际上,我正在尝试构建一个SPA(单页应用程序),其中Lumen作为PHP框架,Vue.js作为Javascript框架。我使用Lumen的原因是因为我提供了一些SPA中不可用的API。我正在使用vue路由器在SPA中路由我的所有页面。我这里的问题是:是否可以调用Lumen控制器并将结果(blade vue)放入vue.js的组件中 我在整个网站上搜索了一些关于我的问题的帮助,但是,由于我不太习惯使用vue.js编写代码,我没有找到我需要的东西 下面是我的app.js目前的外观: import

实际上,我正在尝试构建一个SPA(单页应用程序),其中Lumen作为PHP框架,Vue.js作为Javascript框架。我使用Lumen的原因是因为我提供了一些SPA中不可用的API。我正在使用
vue路由器
在SPA中路由我的所有页面。我这里的问题是:是否可以调用Lumen控制器并将结果(blade vue)放入vue.js的组件中

我在整个网站上搜索了一些关于我的问题的帮助,但是,由于我不太习惯使用vue.js编写代码,我没有找到我需要的东西

下面是我的app.js目前的外观:

import Vue from 'vue';
import VueRouter from 'vue-router';

Vue.use(VueRouter);

const Foo = {
    template: '<div>foo</div>'
}
const Bar = {
    template: '<div><span>bar</span></div>'
}

const router = new VueRouter({
    mode: 'history',
    base: '/',
    routes: [
        {
            path: '/foo',
            component: Foo
        },
        {
            path: '/bar',
            component: Bar
        }
    ]
});

new Vue({router}).$mount('#app');

谢谢你的帮助。如果你对我的问题有其他的解决办法,我很高兴听到。我不介意使用其他PHP框架或Javascript框架,但我认为这在Lumen和Vue中是可能的,我仍然希望继续使用它们。

是的,这是可能的,您必须执行ajax请求才能从Lumen获取渲染的刀片视图。但我想知道为什么要使用Vue路由器来实现这一点。加载大量JavaScript只是为了通过ajax加载一些页面。我能想到的唯一原因是,我认为
vue-route
能够实现这一点,但是,如果你说我只需要通过ajax调用我的页面,我想我会这样做。
import Vue from 'vue';
import VueRouter from 'vue-router';

Vue.use(VueRouter);

const router = new VueRouter({
    mode: 'history',
    base: '/',
    routes: [
        {
            path: '/foo',
            component: './user/' // Calling controller expo as GET method (default action would be index()) and retreiving the blade vue for the vue.js component
        },
        {
            path: '/bar',
            component: './expo/' // Calling controller expo as GET method (default action would be index()) and retreiving the blade vue for the vue.js component
        }
    ]
});

new Vue({router}).$mount('#app');