Как написать фильтр в контроллере для конкретных значений

0

Как переписать нижнюю строку кода в контроллере app.js. Как я могу написать функцию, в которой я фильтрую параметр mustShow var для длины больше нуля

    **choice | filter: {mustShow: 'yes'}).length > 0**

  <body ng-app="Compensation">
 <script src="https://code.angularjs.org/1.4.3/angular.js"></script>
  <script src="https://code.angularjs.org/1.4.3/angular-route.js"></script>
  <script src="app.js"></script>
  <div ng-controller="MainCtrl">
    <div data-ng-repeat="choic in choice">
      <form>
        <input ng-model="choic.mustShow" class="label_align" type="radio"   name="customer" value="no" ng-change="change()" >
        <div class="mediumSubhead"> Information housed </div>
        <br/>
        <input ng-model="choic.mustShow" class="label_align" type="radio" name="customer" value="yes">
        <div class="mediumSubhead"> Information housed outside </div>
      </form>
    </div>
    **<div ng-show="(choice | filter: {mustShow: 'yes'}).length > 0">**
      <input name="first_name" class="text_box_space" type="text" value="" style="color: black;" size="25" width="200px">
    </div>
  </div>
</body>
  var app = angular.module('EquityCompensation', []);
  app.controller('MainCtrl', function($scope) {
  $scope.choice = [{id: 'choic1'},{id: 'choic2'}];

 });
Теги:

1 ответ

0

Вам следует ввести $filter в контроллер, а затем использовать его как:

$filter('choice')({mustShow: 'yes'}).length > 0

Что-то вроде этого:

var app = angular.module('EquityCompensation', []);
app.controller('MainCtrl', function ($scope, $filter) {
    var choice = $filter('choice')({mustShow: 'yes'});
    // Do something with choice
});
  • 0
    спасибо, но это не работает. Я просто хочу знать длину choice.mustShow: true в контроллере и сделать некоторые манипуляции на основе этого. Пожалуйста, вы можете мне помочь

Ещё вопросы

Сообщество Overcoder
Наверх
Меню