当我使用AngularJS $ routeProvider时,Node.js页面过渡不再起作用

布拉扎德

我将Node.js用作服务器,除非将AngularJS添加到堆栈中,否则它将完全正常工作,这会完全破坏Node.js中的所有URL。具体来说,我想active在Bootstrap 3导航栏中切换选项卡,以响应选项卡的点击,但我希望AngularJS仅切换选项卡的活动/非活动状态,并且不希望AngularJS站在其他任何选项中,由Node来管理。

所以这是我在Angular中的代码:


"use strict";

var MyApp = angular.module("MyApp", ["ngRoute"]);
MyApp.config(["$routeProvider", "$locationProvider", function($routeProvider, $locationProvider) {
    $routeProvider.
        when("/contact", {controller: MyCtrl}).
        when("/blog", {controller: MyCtrl});

    $locationProvider.html5Mode(true);
    $locationProvider.hashPrefix("!");
}]);

和控制器代码:


function MyCtrl($scope, $routeParams, $location) {
    $scope.isActive = function(viewLocation) {
        return viewLocation === $location.path();
    };
}

和HTML代码:

<div class="collapse navbar-collapse" ng-controller="MyCtrl">
  <ul class="nav navbar-nav">
    <li ng-class="{ active: isActive('/')}"><a href="/">Home</a></li>
    <li ng-class="{ active: isActive('/blog')}"><a href="/blog">Blog</a></li>
    <li ng-class="{ active: isActive('/contact')}"><a href="/contact">Contact</a></li>
  </ul>
</div>

但是,当我从Chrome浏览器中点击任何选项卡时,切换开关可以正常工作-例如,当我点击“博客”选项卡时,该选项在Bootstrap 3导航栏中处于活动状态。但是,该页面无法正确过渡,因此实际的Blog内容无法显示在屏幕上-它所做的全部更改都是选项卡切换。

更糟的是,当我点击屏幕上的其他内容时,该内容超出了Bootstrap 3导航栏的控制范围,那么它仍然会使过渡中断,并且页面仍保持为预点击状态。

那么,如何正确地将页面转换为正确的页面,并使Angular仅切换导航栏选项卡的活动/非活动状态?我不使用AngularJS模板,只希望它控制切换功能。

请注意,即使点击切换不起作用,当我在浏览器窗口中输入URL并按回车键时,该切换也能正常工作。奇怪的。

Morloch

结合使用AngularJS和AngularJSngRoute意味着AngularJS将尝试处理您的所有路由要求,但是如果没有它,您可以轻松解决。要将路由处理留给Node:

  • 消除ngRoute依赖性,然后.config完全删除您的部分。
  • $routeParams从您的控制器中删除
  • 在您的页面(由Node处理)中,您将需要添加ng-controller="MyCtrl"到body元素中。

$location现在应该可以正常工作,以仅更新选项卡类。如果不是,请$window.location.pathname改用。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

当我将OS X升级到10.9时,我的applescript不再起作用

来自分类Dev

当我将OS X升级到10.9时,我的applescript不再起作用

来自分类Dev

当我更改 html 中的 body 标记类时,Javascript 事件将不再起作用?

来自分类Dev

使用Ajax时Flask Flash消息不再起作用

来自分类Dev

当我使用AngularJS和Node.JS上传文件时出现“ NetworkError:404 Not Found”

来自分类Dev

当我使用AngularJS和Node.JS上传文件时出现“ NetworkError:404 Not Found”

来自分类Dev

当我们使用ng-change时,AngularJS文件上传不起作用

来自分类Dev

当我通过Cisco AnyConnect客户端连接到VPN时,路由添加不再起作用

来自分类Dev

当我“制作” Python时,为什么不获得“ bin”目录(或“为什么这些指令不再起作用”?)

来自分类Dev

使用复合模板时,为什么我的GMenu不再起作用?

来自分类Dev

从版本升级时,jQuery JS不再起作用

来自分类Dev

当我使用JQuery加载页面时,表单的提交不起作用

来自分类Dev

就像当我使用“?”时查询不起作用 字符

来自分类Dev

当我使用updatePanel时,maintainScrollPositionOnPostBack不起作用

来自分类Dev

就像当我使用“?”时查询不起作用 特点

来自分类Dev

当我使用updatePanel时,maintainScrollPositionOnPostBack不起作用

来自分类Dev

当我在AngularJS中使用Morris Chart放大页面的浏览器时,会弹出Firefox标准错误

来自分类Dev

当我关闭导航时,为什么过渡不起作用?

来自分类Dev

ConfigError:当我在Node.js中使用Amazon ses时,配置中缺少区域

来自分类Dev

Node js:当我使用 get 方法时出现错误无法 GET /route

来自分类Dev

当我使用for循环遍历我的django表单时不起作用

来自分类Dev

JavaScript:当我尝试使用 DOM 时,我的 for 循环似乎不起作用

来自分类Dev

从stream()移到cursor()时,lean()不再起作用

来自分类Dev

从stream()移到cursor()时,lean()不再起作用

来自分类Dev

AngularJS应用程序不再起作用

来自分类Dev

AngularJS应用程序不再起作用

来自分类Dev

我是node js的新手,当我回调数据时,它表明回调函数不起作用

来自分类Dev

为什么我的进口货不再起作用?

来自分类Dev

我的链接在yii中不再起作用

Related 相关文章

  1. 1

    当我将OS X升级到10.9时,我的applescript不再起作用

  2. 2

    当我将OS X升级到10.9时,我的applescript不再起作用

  3. 3

    当我更改 html 中的 body 标记类时,Javascript 事件将不再起作用?

  4. 4

    使用Ajax时Flask Flash消息不再起作用

  5. 5

    当我使用AngularJS和Node.JS上传文件时出现“ NetworkError:404 Not Found”

  6. 6

    当我使用AngularJS和Node.JS上传文件时出现“ NetworkError:404 Not Found”

  7. 7

    当我们使用ng-change时,AngularJS文件上传不起作用

  8. 8

    当我通过Cisco AnyConnect客户端连接到VPN时,路由添加不再起作用

  9. 9

    当我“制作” Python时,为什么不获得“ bin”目录(或“为什么这些指令不再起作用”?)

  10. 10

    使用复合模板时,为什么我的GMenu不再起作用?

  11. 11

    从版本升级时,jQuery JS不再起作用

  12. 12

    当我使用JQuery加载页面时,表单的提交不起作用

  13. 13

    就像当我使用“?”时查询不起作用 字符

  14. 14

    当我使用updatePanel时,maintainScrollPositionOnPostBack不起作用

  15. 15

    就像当我使用“?”时查询不起作用 特点

  16. 16

    当我使用updatePanel时,maintainScrollPositionOnPostBack不起作用

  17. 17

    当我在AngularJS中使用Morris Chart放大页面的浏览器时,会弹出Firefox标准错误

  18. 18

    当我关闭导航时,为什么过渡不起作用?

  19. 19

    ConfigError:当我在Node.js中使用Amazon ses时,配置中缺少区域

  20. 20

    Node js:当我使用 get 方法时出现错误无法 GET /route

  21. 21

    当我使用for循环遍历我的django表单时不起作用

  22. 22

    JavaScript:当我尝试使用 DOM 时,我的 for 循环似乎不起作用

  23. 23

    从stream()移到cursor()时,lean()不再起作用

  24. 24

    从stream()移到cursor()时,lean()不再起作用

  25. 25

    AngularJS应用程序不再起作用

  26. 26

    AngularJS应用程序不再起作用

  27. 27

    我是node js的新手,当我回调数据时,它表明回调函数不起作用

  28. 28

    为什么我的进口货不再起作用?

  29. 29

    我的链接在yii中不再起作用

热门标签

归档