javascript - 如何让 AngularJS 路由器在导航时更新 Controller 值,而不是重新加载整个 Controller ?

标签 javascript angularjs

我有一个大型且复杂的 View ,在 /dailyReport/:dayId 这样的路线上提供服务

当用户在不同的每日报告之间导航时,我只想使用新的 dayId 更新 DailyReportController,而不是重新加载整个 Controller 。

我怎样才能做到这一点?

最佳答案

您可以使用 $location.search()reloadOnSearch: false,然后在查询字符串中传递 dayId:

.when('/dailyReport', {
    templateUrl: 'view.html',
    controller: 'MainCtrl',
    reloadOnSearch: false
})

要在 dayId 更改时收到通知:

$scope.$on('$routeUpdate', function(){
  console.log($location.search().dayId);
});

然后链接到新的一天:

<a href="#/dailyReport?dayId=2">Change day to 2</a>

Plunkr

关于javascript - 如何让 AngularJS 路由器在导航时更新 Controller 值,而不是重新加载整个 Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28310933/

相关文章:

javascript - AngularJS 自定义指令双向绑定(bind)

javascript - AngularJS 1.x 和 Tape JS

javascript - 仅在单选按钮上单击时显示 div

javascript - Jquery:无法在 iframe 中找到元素

javascript - ng-click 中方法的 if 语句

javascript - 如何从jquery中的多个图标中调用图标?

javascript - 自定义 javascript 函数/jQuery 回调的正确语法

javascript - 带有 angularjs ngoptions 的默认虚拟项目

javascript - AngularJS:forEach 和 http 获取数据 - 等待所有内容加载完毕

jquery - 如何在angularjs中更新html表的数据?