我正在尝试让数据模型与网址保持同步:
当我的网址更新,$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
与网址保持同步(两种方式)。