我希望能夠在首次加載頁面時顯示城市的完整列表。Ng顯示和過濾器
當用戶點擊該城市我想用NG-顯示/ NG隱藏以顯示用戶所選城市的結果,並隱藏非選定城市的複選框。
我不想使用過濾器,因爲這從加DOM /刪除使其重新渲染。
有誰知道最好的方法來做到這一點。
我希望能夠在首次加載頁面時顯示城市的完整列表。Ng顯示和過濾器
當用戶點擊該城市我想用NG-顯示/ NG隱藏以顯示用戶所選城市的結果,並隱藏非選定城市的複選框。
我不想使用過濾器,因爲這從加DOM /刪除使其重新渲染。
有誰知道最好的方法來做到這一點。
我猜你使用ng-repeat
來顯示所有的城市?如果是的話,你可以做這樣的事情:
<ul class="cities">
<li ng-repeat="city in cities" ng-show="!selectedCity">{{city}}</li>
<li ng-show="selectedCity">{{selectedCity}}</li>
</ul>
一旦用戶選擇一個城市,你的變量selectedCity
將填充,它會隱藏列表和顯示li
與selectedCity
只顯示。
你必須設置在控制器變量selectedCity
當用戶點擊複選框。
你沒有張貼任何代碼,所以我不知道究竟是您的實現,以顯示城市。我希望這個例子很清楚。
看到這個fiddle,看看這是你正在尋找的功能。
這是一個小提琴 - http://jsfiddle.net/Lvc0u55v/7495/。在選擇倫敦時,我想隱藏洛杉磯,反之亦然。 – user2025749
例如如果u持有$ scope.cities城市和你重複的着陸頁使用複選框,這樣的城市在城市納克重複
<input type="checkbox" ng-model="$scope.cities[$index]['select']" ng-true-value="'YES'" ng-false-value="NO" ng-click="showCitiesData(city)">
然後在你的控制器
.controller{
$scope.showcitydata=false;
$scope.showCities=function(city){
if(city.select=='YES;){
$scope.showcitydata=true;
}
}
}
設置過濾成ng-repeat指令與對象表達式
ng-repeat="city in cities | filter:{selected:true}"
嘗試:
<label ng-init="city = {}"><input type="checkbox" ng-change="selected = true" ng-model="city['London']">London</label>
<label><input type="checkbox" ng-change="selected = true" ng-model="city['Los Angeles']">Los Angeles</label>
<div ng-controller="MyCtrl">
<ul class="employees">
<li ng-repeat="employee in employees" ng-show="!selected || city[employee.city]">
{{employee.name}}
</li>
</ul>
</div>
謝謝,因爲它應該工作 – user2025749
'NG秀= 「城市== selectedcity」'在所有複選框 – eltonkamami
你嘗試過什麼? –