如何在不重新加载Pagein Angular JS的情况下设置状态参数?

时间:2017-07-26 12:00:44

标签: angularjs angular-ui-router

我在Angular Js中使用状态。我想在url中添加一些像date这样的字段而不重新加载状态。所以我看到了相关链接AngularJS UI Router - change url without reloading state 但我仍然坚持这个问题。

HTML

<button class="btn btn-md btn-primary" ng-click="dumy()">Apply</button>

CONTROLLER

$scope.dumy=function(){
  $scope.startDate="2017-07-26T09:30:00Z";     
  $scope.endDate="2017-07-26T18:30:00Z";       
}

MODEL.JS

.state('app.shine', {
              url: '/showData',
              params:{
                View:null,
                Edit:null,
                Enable:null,
                Delete:null
              },            
               views: {
                  "content@app": {
                      templateUrl: 'view/view.html',
                      controller: 'controller'
                  }
              },

          })

我想在URL中将 $ scope.startDate 值设置为状态或查询参数。如果我重新加载页面,那么这些参数应该在 URL 中,但是在单击Apply按钮后应该设置这些参数。我是角度js的新手。请分享您的想法。提前谢谢。

1 个答案:

答案 0 :(得分:0)

确保将$ location注入您的控制器,然后您可以使用$ location.search更新网址而不刷新页面。

$location.search( { object with query parameter values }) 

例如,我在我的某个应用中使用了类似的内容:

 this.$location.search({ key: this.linesQuery.order, id: this.lineIndex })