Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.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 AngularJS-忽略路由_Javascript_Angularjs_Laravel_Url Routing - Fatal编程技术网

Javascript AngularJS-忽略路由

Javascript AngularJS-忽略路由,javascript,angularjs,laravel,url-routing,Javascript,Angularjs,Laravel,Url Routing,如果路由不存在,我会尝试忽略链接,让http来完成这项工作 我有一个大型的Laravel应用程序,我正在尝试为一些前端的东西实现AngularJS 我的问题是,我想慢慢地将角度代码添加到每个页面,但让应用程序的其余部分像往常一样工作。它不是一个单页应用程序,而是一个具有英语功能的多页应用程序 这是我的角度路由: app.config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProv

如果路由不存在,我会尝试忽略链接,让http来完成这项工作

我有一个大型的Laravel应用程序,我正在尝试为一些前端的东西实现AngularJS

我的问题是,我想慢慢地将角度代码添加到每个页面,但让应用程序的其余部分像往常一样工作。它不是一个单页应用程序,而是一个具有英语功能的多页应用程序

这是我的角度路由:

    app.config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) {
    $routeProvider.
        when('/clients/:ClientID', {
            templateUrl: "resources/js/angular/partials/DisplayLogCtrl.html",
            controller: 'DisplayLogCtrl'
        }).
        otherwise({
            //Go to normal Laravel route
        });;

    $locationProvider.html5Mode(true);
}]);
正常的链接,如
不能正常工作。地址栏中的URL已更改,但屏幕上没有任何更改


有人知道为什么会这样吗。。以及我是否能够做我想做的事情?

Angular使用哈希路由,因此ng路由只查看路径,而不是整个url。散列路由如下所示:
www.example.com/#/client/14
。如果您在该页面上,并单击指向“/”的链接,您的浏览器将认为它已在该页面上,而不会执行任何操作。我猜angular没有看到路径变化,这就是为什么什么都没有发生,但是如果没有看到更多的代码,就很难知道。我使用$locationProvider.html5Mode(true);这就把散列出来了。这会让我很难受吗?事实上,我对它并不熟悉,但快速浏览文档会发现一些潜在的问题:1。您的文档头是否有
标签?2.你的链接是否设置了“目标”属性?3您的链接是否以a/开头,并指向与您的“基础”不同的路径?(摘自文档)是的,我看到了,并严格按照说明进行操作。我只是不明白我做错了什么。也许发布一些注释掉的代码。另外,当您关闭html5模式时会发生什么?这可能只是为了调试目的,您可以稍后再打开它。抱歉。你的“目标”是对的。设定目标解决了所有问题。谢谢。
multi-page app
是否表示您正在从运行相同代码的服务器加载多个页面?或者正在尝试将多个页面慢慢转换为单页面应用程序?这有很大的不同。应该更清楚。我想要一个每页都有一个单页应用的Laravel应用。但是你为什么要这么做呢?如果你这样做了…为什么要使用角度布线?似乎一开始就违背了使用angular的目的。对我来说,这听起来真的不像是经过深思熟虑的。如果每个Laravel控制器路径有一个SPA,那么我对角度路由的评论可能是错误的……在角度路由中有子路由。但如果您没有在服务器上使用子目录(htaccess中的虚拟目录或真实目录)来允许angular中的链接知道它们不是angular路由,那么使用html5模式时就会出现问题,这需要一个
base
标记。没有html5模式就简单多了。。。每个angular应用程序都有一个目录,该目录中没有其他laravel输出页面,这将使HTML5模式正常工作,而
就是该目录。否则,您会遇到问题,需要对外部路由进行一系列映射,以检测角度路由更改事件