我想通过在一个输入域中翻转来改变我的
angularjs应用程序中的url.
例如
>我留在:
HTTP://本地主机/测试/年/ 2012
>我将通过输入字段在2013年的一年中更改,调用我的yearIsChanged函数,而不是url应该更改为
HTTP://本地主机/测试/年/ 2013
>但是,使用我当前的配置,url更改为
HTTP://本地主机/测试/年/ 2012 /年= 2013
我的模式配置.
var module = angular.module('exampleApp'). config(['$routeProvider',function ($routeProvider) { $routeProvider. when('/test/year/:year',{templateUrl: 'partials/test.html',controller: OverviewCtrl,reloadOnSearch: false}). otherwise({redirectTo: '/'}); }]);
控制器动作:
function OverviewCtrl($scope,$routeParams,$location) { $scope.yearIsChanged = function () { $location.search('year',$scope.year); } }
解决方法
$location.search将创建一个URL:
http://localhost/test/year/2012?year=2013
这不是你想要的.你需要使用$location.url():
function OverviewCtrl($scope,$location) { $scope.yearIsChanged = function () { $location.url('/test/year/' + $scope.year); } }