【问题标题】:AngularJS Invoke method in another controller [duplicate]另一个控制器中的AngularJS调用方法[重复]
【发布时间】:2015-02-19 19:46:33
【问题描述】:

为了简化它。 我有 3 个带有项目列表的选项卡。 (国家、城市、街道)。在我的应用中,这些是不同的东西,但这是为了简化它。

在这 3 个选项卡中,我列出了所有计数、城市和街道。我为每个选项卡设置了单独的控制器。 CountryController、CityController 和 StreetController。

我想要达到的目标。 当用户在第一个选项卡中单击国家时,我不想调用 CitiesControlelr 中的函数,该函数将返回给定国家/地区的所有城市。当您点击 City 时,我想调用 StreetController 中的函数,该函数将返回该城市的所有街道。

如何实现控制器之间的这种“通信”?正确的制作方法是什么?

【问题讨论】:

    标签: javascript html angularjs


    【解决方案1】:

    您可以将一个对象放在所有控制器范围的父范围内,以存储选定的值。

    <div ng-init="current = {}">
        <div ng-controller="CountryController as countryCtrl">
            <select ng-options="country.code as country.label for country in countryCtrl.countries" 
                    ng-model="current.country">
            </select>
        </div>
        <div ng-controller="CityController as cityCtrl">
            <select ng-options="city.code as city.label for city in cityCtrl.countriesFor(current.country)"
                    ng-model="current.city">
            </selected>
        </div>
    
    </div>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-07
      • 1970-01-01
      • 2013-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-23
      相关资源
      最近更新 更多