从单页应用程序开始

亲爱的

我是Angularjs的初学者,我已经下载了angularjs的模板“ Angular Start”。它带有一些内置文件。像homecontroller,AppjsFolder等。

我想知道如果我使用空的Mvc项目,如何才能从angularproject开始?而且,当我运行该应用程序时,默认情况下在浏览器中使用以下URL:“ http:/ somelocalAddress /#/ home”。谁能告诉我#是如何与url附加在一起的,因为我可以看到它没有任何route.config文件。

我知道Layout.cshtml中有一些锚标记

 <li data-ng-class="{active : activeViewPath==='/home'}"><a href='#/home'>Home</a></li>
                    <li data-ng-class="{active : activeViewPath==='/demo'}"><a href="#/demo">Demo</a></li>
                    <li data-ng-class="{active : activeViewPath==='/angular'}"><a href='#/angular'>Learn Angular</a></li>
                    <li data-ng-class="{active : activeViewPath==='/about'}"><a href='#/about'>About</a></li>
                    <li data-ng-class="{active : activeViewPath==='/contact'}"><a href='#/contact'>Contact</a></li>

在这里,anchortags的href带有#附加,这表明在单击anchor tag时url得到#,但是当我运行该应用程序时,为什么会有/#/ Home

请指导我。

cgcladera

您正在使用Angular ngRoute模块。这是一个全ajax导航控制器。这意味着当您浏览路线时,实际上并没有走到什么地方,ngRoute下载部分html并将它们呈现在ng-view属性标记的div内,从而创建“伪造”(但高性能)的导航体验。

Angular使用#以避免浏览器每次路由更改操作都加载整个页面。这就是代码中的锚点也使用#的原因。

您的代码似乎是菜单的一部分,可能是引导菜单,并且它希望根据当前路径将“ active”类添加到相应的li部分。控制器可能正在使用$ location服务,以便使用$ location.path()方法找出当前路径。当您调用path()时,它返回的当前路径不带“#”,因此它在ng-class属性中也未使用它。

顺便说一句,您可以激活$ locationProvider的html5mode,不要使用前缀#,而只是使用您的life;)。它使用相同的技术,问题是您的听众需要使用现代的浏览器,但是我敢肯定您使用的其他依赖项也需要这样做,对吗?

如何配置html5mode

angular.module('myApp',[
    ...
    'ngRoute'
    ...
])
    .config(function($routeProvider, $locationProvider){
        $routeProvider
             .when('/path/to/my/route')
             .otherwise({
                 redirectTo: '/'
             });
        
        $locationProvider.html5Mode(true);
    });

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

什么是单页应用程序(SPA)?

来自分类Dev

Angular中的单页应用程序

来自分类Dev

使用Django的单页应用程序

来自分类Dev

单页Web应用程序问题

来自分类Dev

jQuery单页移动应用程序

来自分类Dev

单页应用程序angularJS

来自分类Dev

Angular中的单页应用程序

来自分类Dev

单页应用程序中的RedirectToAction

来自分类Dev

单页应用程序架构

来自分类Dev

关于单页或多页应用程序的内存问题

来自分类Dev

单页应用程序中的引导程序

来自分类Dev

单页应用程序是否只是整个Web应用程序使用的一页?

来自分类Dev

node.js和单页Web应用程序

来自分类Dev

企业级系统的单页应用程序

来自分类Dev

Phoenix:如何提供单页应用程序

来自分类Dev

在单页应用程序中实现Paypal

来自分类Dev

在Umbraco CMS中使用单页应用程序

来自分类Dev

如何强制更新单页应用程序(SPA)页面?

来自分类Dev

概念说明SPA(单页应用程序)

来自分类Dev

单页应用程序性能问题

来自分类Dev

Dart是否设计用于单页应用程序?

来自分类Dev

Cemerick朋友和单页应用程序

来自分类Dev

如何在单页应用程序中处理分页?

来自分类Dev

Intern.io单页应用程序功能测试

来自分类Dev

单页应用程序和网页标题

来自分类Dev

单页应用程序外部配置(不在NodeJS上)

来自分类Dev

单页应用程序-前端独立于后端吗?

来自分类Dev

AWS CloudFront中的单页应用程序

来自分类Dev

单页应用程序中的后退按钮处理?