AngularJS список опций для изменения URL - PullRequest
0 голосов
/ 23 октября 2018

Я хочу перенаправить на другую страницу в зависимости от выбранной опции, но это даже не запись в консоли.Я тоже пытался использовать ng-change

HTML:

      <select ng-options="option for option in selectCate" ng- 
      model="selectedCate" ng-click="selectedCateChange()">
      </select>

JS:

      $scope.selectCate = ['Amenities', 'Attractions'];

      $scope.selectedCate = $scope.selectCate[0];

      $scope.selectedCateChange = function () {

          if ($scope.selectedCateChange == "Amenities")
          {
              console.log("aa")
          }
          else if ($scope.selectedCateChange == "Attractions")
          {
             $window.location.href = '#!/Attractions'
          }
      }

Ответы [ 2 ]

0 голосов
/ 23 октября 2018

Вместо использования ng-click на <select> используйте ng-change и передайте selectedCate в selectedCateChange.Пожалуйста, обратите внимание на следующий фрагмент рабочего кода.

<!DOCTYPE html>
<html>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>
<body>

<div ng-app="myApp" ng-controller="myCtrl">
<select ng-model="selectedCate" ng-change="selectedCateChange(selectedCate)">
      <option ng-repeat="option in selectCate" value="{{option}}">{{option}}</option>
</select>
</div>

<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
    $scope.selectCate = ['Amenities', 'Attractions'];
    $scope.selectedCateChange = function (selectedCate) {
       if (selectedCate == "Amenities"){
           alert("aa");
       }else if (selectedCate == "Attractions"){
           alert("call your router here");
       }
   }
});
</script>
</body>
</html>
0 голосов
/ 23 октября 2018

Для перенаправления угловой ссылки вы можете использовать $ stateProvider.

$stateProvider
            .state("Attractions", {
                url: "/Attractions",
                templateUrl: "app/components/layout/Attractions.html",
                resolve: loader(["scripts/components/layout/AttractionsController", "scripts/components/distributed/popupModalController"]),
                controller: "attractionsCtrl"
            });
$state.go('Attractions');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...