使用angularjs设置双向绑定到url

时间:2016-11-02 12:07:23

标签: angularjs

我想将双向绑定到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;
        } 
    });
});

1 个答案:

答案 0 :(得分:0)

问题在于$rootScope

当页面重新加载$rootScope时,也会重新初始化。同时您的Controller也会重新初始化。因此watch无法$rootScope进行更改。

因此,一种可能的解决方案是使用本地存储或会话存储。 AngulrJs有$localStorage$sessionStorage个依赖关系。

本地存储中的内容将一直保留,直到我删除它们

安装ngStorage后,您可以同时使用$localStoragesessionStorage

了解更多信息Read here