使用ui-router和angular js更改菜单结构

时间:2014-04-22 15:08:42

标签: angularjs angular-ui-router

我正在尝试创建一个菜单结构,其中导航栏包含在其中一个菜单选项中选择的一些信息。

See the plunkr

我尝试做什么

最初加载欢迎状态。在此状态下,正在进行检查以查看用户以前是否在该站点上并且已经选择了存储在cookie或本地存储中的城市。我删除了那部分代码,因为它没有添加任何内容。现在它只是检查是否已经设置了一个值(最初它从未设置过)。然后它重定向到城市的选择。用户点击城市后,导航栏应该从"很快更新:"到"很快<您选择的城市>内容确实显示所选城市,但导航栏没有。同样在调试时,属于导航栏控制器的控制器不再被调用,所以可能是我的错误所在,我没有正确设置视图的嵌套,但我看不出我错过了什么。有人可以为我发光吗?

此致 罗纳德

1 个答案:

答案 0 :(得分:1)

由于您从服务中检索所选城市的方式不正确,因此很快部分内容未更新,在将城市分配到您的$scope时,未选择任何内容,请更改您的{{1}吧控制器:

start.nav

它会起作用,see fork

修改

您希望再次执行哪个控制器? controller: ["$scope", "CityService", function ($scope, CityService) { $scope.$watch(CityService.getCity,function(v){ $scope.data = {city : v} },true); ?因为你从来没有真正离开它,所以你的应用程序运行之后所有的状态都是start.nav的孩子。检索所选城市的方式是错误的,因为该行代码只运行一次,此时在您的服务中没有为start.nav分配任何内容。