AngularJS防止在使用URL同步数据模型时触发$ watch

时间:2014-08-04 18:08:18

标签: javascript angularjs angular-ui-router

我正在尝试让数据模型与网址保持同步:

当我的网址更新,$stateParams更改后,找到selectedNode

$scope.$watch('$stateParams', function (params) {
  // some logic
  $scope.selectedNode = foundNode
});

当selectedNode更改时,网址会更新

$scope.$watch('selectedNode', function(node) {
  // some logic to find params
  $state.go('nodeState', params);
});

唯一的问题是,当$stateParams更改时,selectedNode已更改,这会触发$ watcher,从而再次更改$stateParams

selectedNode更改时(导致$stateParams更改,导致selectedNode再次更改)也是如此

最终目标看起来非常简单,让我的数据模型selectedNode与网址保持同步(两种方式)。

0 个答案:

没有答案