我正在尝试根据网址更新“帮助”部分。也就是说,如果我有url.domain / x,我想显示特定于'x'的信息。如果我有url.domain / y我想显示特定于'y'的信息。
我现在创建了一个控制器,它使用$ location.path()作为触发器来显示正确的信息,但是在第一个URL加载后没有后续的URL更改$ location.path()显示的内容。这是一个“单页”应用程序。
我现在要做的就是让$ location更新。我在控制器中有$位置:
app.controller('ctrl', function($scope, $location) {
$scope.help = $location.path();
});
在视图中,我有这个显示$ scope.help。
<div ng-controller="crtl">
{{help}}
</div>
但它只显示我首先选择的任何页面加载时$ location的路径。也就是说,如果我点击另一个链接,它不会更新$ location.path()。我究竟做错了什么?而且,有没有更好的方法来实现我想要的目标?
答案 0 :(得分:1)
缺少的一点是,控制器中的赋值仅在加载控制器时分配值。作业没有约束力。您需要收听$ location的更改,然后将新值分配给变量OBJECTB_ID
。
执行此操作的方法如下:
help
$scope.$on("$locationChangeSuccess", function() {
$scope.help = $location.path();
});
分配新位置的值