我想将双向绑定到url.In以下代码我正在设置它但是,当url更改新旧值时显示相同的第一页加载。请建议如何将$rootScope.xyz_form = false;
值为xyz_form
的网页设置为url
$rootScope.siteUrl = $location.path();
$rootScope.$on('$routeChangeSuccess', function () {
$rootScope.$watch('siteUrl', function (newVal, oldVal) {
console.log("newVal", newVal);
console.log("oldVal", oldVal);
if (newVal.indexOf('xyz_form') > 0) {
$rootScope.xyz_form = false;
}else{
$rootScope.xyz_form = true;
}
});
});
答案 0 :(得分:0)
问题在于$rootScope
当页面重新加载$rootScope
时,也会重新初始化。同时您的Controller
也会重新初始化。因此watch
无法$rootScope
进行更改。
因此,一种可能的解决方案是使用本地存储或会话存储。
AngulrJs有$localStorage
和$sessionStorage
个依赖关系。
本地存储中的内容将一直保留,直到我删除它们
安装ngStorage
后,您可以同时使用$localStorage
和sessionStorage
了解更多信息Read here