简化它。 我有3个选项卡列表。 (国家,城市,Stree)。在我的应用程序中,这些是不同的东西,但这只是简单的。
在这三个标签中,我列出了所有的国家,城市和街道。我为每个标签分配了控制器。 CountryController,CityController和StreetController。
我想要实现的目标。 当用户在第一个标签中点击国家/地区时,我会在CitiesControlelr中调用将返回给定国家/地区中所有城市的功能。点击City我想在StreetController中调用将返回该城市所有街道的功能。
如何在控制器之间实现这种“通信”?什么是正确的制作方式?
答案 0 :(得分:0)
您可以将对象放在作为所有控制器范围的父级的范围内,以存储选定的值。
<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>