繁体   English   中英

URL angularjs的重定向

[英]Redirection of url angularjs

我正在构建一个应用程序,但有一个小问题。

对于索引,当我单击带有jQuery的按钮时,我使用history.pushstate更改了URL。 例如, www.mysite.com变为www.mysite.com/something而无需重新加载页面。 但是,如果加载此页面,我找不到www.mysite.com因为“内容”不存在。

而且我不知道它们之间的联系如何。

我试图做到这一点,但它不适用于AngularJS。

var myApp = angular.module('photo', ['ngRoute']);


myApp.config(['$routeProvider', function($routeProvider) {
    $routeProvider.when('/', {
        templateUrl: 'machin.html'
    });
    $routeProvider.when('/something-one', {
        templateUrl: 'machin.html'
    });
    $routeProvider.when('/something-two', {
        templateUrl: 'machin.html'
    });
    $routeProvider.otherwise({ redirectTo: '/' });
}]);

这是这样做的方法,还是我迷路了? ^^


解决了

我的解决方案对不起所有人。 我忘记了脚本angular-route,但其余脚本仍然有效。

在您的按钮中,您可以使用ng-click而不是jQuery绑定事件。

<button ng-click="goto('/something')">Go to something</button>

在您的控制器中:

$scope.goto = function(url) {
   $location.path(url);
}

当您使用Jquery时,您超出了范围。 因此,角度不会知道URL的更改。 在这种情况下,您可能需要触发digest循环。

你可以试试这个

var myApp = angular.module('photo', ['ngRoute']);
myApp.config(['$routeProvider', function($routeProvider) {
    $routeProvider.when('/', {
        templateUrl: 'machin.html'
    })
    .when('/something-one', {
        templateUrl: 'machin.html'
    })
    .when('/something-two', {
        templateUrl: 'machin.html'
    })
    .otherwise({ redirectTo: '/' });
}]);

并在您的html中

<a href="#/something-one">Go to something one</a>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM