【问题标题】:type in routes on angular-ui-router在 angular-ui-router 上输入路由
【发布时间】:2015-10-13 16:48:08
【问题描述】:

我正在玩 angular-ui-router 的 this demo,使用 WordPress 网站来托管 javascript 文件(这不是应用程序作者的意图,但仍然证明了我的问题)。角度应用程序有一个/login 路由,如果我单击主页上的链接,它将加载角度应用程序的login 模板。但是,如果我输入 url http://localhost:8888/login 它会显示 WordPress 登录页面,即它不是由 angular-ui-router 处理的,这使得它作为路由器有点无用/不可预测。

问题:有没有办法让 angular-ui-router 处理在浏览器中输入的路由,或者是否有一个 angular 路由器可以处理在浏览器中输入的路由?

背景:我打算使用 Angular 作为 WordPress 网站的前端,它能够处理在浏览器中丢弃的路由非常重要,例如,http:localhost:8888/2015/10/10/my-wordpress-post

这是处理login 路由的代码

'use strict'; 
2 

3 routes.$inject = ['$stateProvider']; 
4 

5 export default function routes($stateProvider) { 
6   $stateProvider 
7     .state('login', { 
8       url: '/login', 
9       template: require('./login.html'), 
10       controller: 'LoginController', 
11       controllerAs: 'login' 
12     }); 
13 } 

【问题讨论】:

    标签: angularjs angular-ui-router


    【解决方案1】:

    问题是您的服务器正在侦听基于 url 的请求。如果您在 Angular 页面上并单击链接,则您使用的是 HTML5 推送状态。如果您输入 URL,则不是,您的服务器会在 Angular 之前处理它。最简单的解决方案是将 Wordpress 应用程序安装在子目录中,并使用根来提供 Angular 应用程序。

    【讨论】:

    • 那么使用其他类型的应用程序来为根中的角度应用程序提供服务?例如,它甚至可能是一个 python 应用程序?让它们完全分开?
    • 是的,不过如果你已经在使用 PHP 作为 wordpress 的话,让 PHP 来做可能会更容易。否则你必须想办法让不同的网络服务器在不同的路径上监听。
    • 当我说 PHP 时,我的意思是 apache。
    • 这是一个看起来可以工作的 .htaccess 文件的链接:gist.github.com/rayfranco/3211654
    • 那么这些是您用来将 WordPress 放在自己的目录中的说明吗? codex.wordpress.org/Giving_WordPress_Its_Own_Directory?如果是这样,您是否仍然按照说明 7 将 index.php 复制到根目录中(所以它存在于两个地方)?
    猜你喜欢
    • 2016-07-13
    • 2016-05-25
    • 2015-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多