我想根据函数中的条件为priceFilter分配一个真/假

时间:2018-03-28 10:13:26

标签: angularjs

Image consists of html part $ scope.options = ['低价高价','高价低'];

    $scope.selectPriceFilter = function (priceFilter) {

             if ($scope.options === 'Low Price To High') {
            $scope.priceFilter = false;
        }      

         else if ($scope.options === 'High Price To Low') {
             $scope.priceFilter = true;
        }
    }

1 个答案:

答案 0 :(得分:0)

我不确定你想要什么。我想你想根据所选的选项为priceFilter模型分配true或false。

您的错误在if比较中。您的模型值在priceFilter中,而不在$ scope.options中。

这里有一些解决方案。

解决方案1。

$scope.selectPriceFilter = function (priceFilter) {
  $scope.priceFilter = (priceFilter === 'High Price To Low');

   //Is the same than:
   /*if (priceFilter === 'Low Price To High') {
        $scope.priceFilter = false;
    }      

     else if (priceFilter === 'High Price To Low') {
         $scope.priceFilter = true;
    } */
}

解决方案2。 我认为这个解决方案更好。

<select class="slect select-styled" ng-model="priceFilter" ng-options="option.value as option.key for option in options">
  <option value="">-- Price --</option>
</select>

控制器

function TodoCtrl($scope) {
 $scope.options = [{key:'Low Price To High',value: false}, {key: 'High Price To Low', value: true}];
}

我希望这有助于你