【问题标题】:AngularJS Routing Issue with named groupsAngularJS路由问题与命名组
【发布时间】:2014-02-24 18:25:35
【问题描述】:

我有一个使用 apache/WAMP 等在本地运行的基本应用程序。 这个设置很好,我已经使用它和 AngularJS 构建了很多应用程序。

以前的应用程序使用 ui-router 进行路由/状态构建。我现在正在构建的这个应用程序只是使用普通的 ngRoute 和 ng-view。

问题: 使用 $routeProvider 我设置了两条路线。

app.js(将 angular-route 添加到脚本并将“ngRoute”添加到 deps 的基本设置)

$locationProvider.html5Mode(true);

$routeProvider.when("/", {template: "<div>Home</div> <a href='/single'>Single</a> | <a href='/page/34'>Page 34</a>"});
$routProvider.when("/single", {template: "<div>single</div>"});
$routProvider.when("/page/:pageId", {template: "<div>page</div>"});
$routeProvider.otherwise("/");

.htaccess

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [L]

当我将此应用程序运行到“/”时,一切正常。使用锚点,应用程序将毫无问题地切换视图

当我在“/single”启动应用程序时,一切都很好

当我在“/page/34”处启动应用程序时,我收到一个模块错误,指出我的模块“应用程序”未加载......很奇怪。仅具有命名组或比直接页面更长的路由,例如/page/某事不起作用。路线是什么并不重要。

我很困惑。

感谢您的澄清。

我有什么遗漏吗?我不明白为什么这不起作用。

更新
我成了这个虫子的牺牲品。看到这个帖子:https://stackoverflow.com/a/17882453/2012550

【问题讨论】:

    标签: javascript angularjs


    【解决方案1】:

    你的意思是html5Mode(true);

    这希望您的服务器知道无论请求什么路径,都应该返回索引文件,以便 Angular 可以处理前端的实际路由。删除该行,您会注意到路径中有一个#/

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-21
    • 2016-11-09
    • 2012-01-25
    • 2017-12-13
    • 1970-01-01
    相关资源
    最近更新 更多