【问题标题】:Changing menu structure using ui-router and angular js使用 ui-router 和 Angular js 更改菜单结构
【发布时间】:2014-04-23 22:48:43
【问题描述】:

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

See the plunkr

我想做什么

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

问候 罗纳德

【问题讨论】:

    标签: angularjs angular-ui-router


    【解决方案1】:

    很快 in 部分没有更新,因为您从服务中检索所选城市的方式错误,在将城市分配给您的 $scope 时,没有选择任何内容,请将您的 start.nav 酒吧控制器更改为:

    controller: ["$scope", "CityService", function ($scope, CityService) {
                                $scope.$watch(CityService.getCity,function(v){
                                  $scope.data = {city : v}
                 },true);
    

    它会起作用的,see fork

    编辑:

    您希望哪个控制器再次执行? start.nav?不会再次调用那个,因为您永远不会真正离开它,您在应用程序运行后进入的所有状态都是start.nav 的子级。您检索所选城市的方式是错误的,因为该行代码只运行一次,此时您的服务中没有任何内容分配给 city

    【讨论】:

    • 谢谢,这确实有效,但我仍然很困惑为什么导航栏控制器不再被调用。你知道为什么会这样吗?为什么从服务中检索所选城市是错误的?不使用手表应该如何改进?
    猜你喜欢
    • 2016-06-22
    • 2015-11-18
    • 2014-10-22
    • 1970-01-01
    • 1970-01-01
    • 2015-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多