Как передать параметр на перенаправленную страницу по ng-клику? - PullRequest
1 голос
/ 14 мая 2019

Я пытаюсь отобразить div сетки с помощью ng-repeat. Он отобразит три сетки, каждая с идентификатором датчика, переданным в качестве параметра. Теперь я создал нг-щелчок, чтобы перенаправить на другую страницу по щелчку каждого из элементов div. При перенаправлении я также хочу передать соответствующий SensorID каждого div.

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

Я получаю что-то вроде этого, где 404273 и 404279 являются SensorID. http://localhost:4400/index.html#!/WaterDoorMotion/404273 http://localhost:4400/index.html#!/WaterDoorMotion/404279

PS: в коде mainCtrl - мой основной контроллер, в который загружается AngularJS.

/*----Angular JS----*/ 
vm.GetWaterDoorMotion = function () {
        var WaterDoorMotionURL = url + 'sensors/waterdoormotion';
        $http.get(WaterDoorMotionURL).then(function (response) {
            vm.WaterDoorMotion = response.data;
 });
    }

 vm.RedirectToWaterDoorMotion = function (SensorID) {
        vm.Sensorid = SensorID
        $location.path('/WaterDoorMotion/' + vm.Sensorid);
    }

/*----HTML----*/
//First Page
 <div  ng-repeat="Sensor in mainCtrl.WaterDoorMotion" ng-click="mainCtrl.RedirectToWaterDoorMotion(Sensor.SensorID)"
<span>{{Sensor.SensorName}}</span><p>{{Sensor.SensorID}}</p></div>

//Redirected Page
<div>
    <span>SensorID : {{mainCtrl.Sensorid}}</span>
</div>

Div с SensorID

1 Ответ

0 голосов
/ 14 мая 2019

Вы можете передать sesnsor id в параметрах запроса, например, localhost:4400/index.html#!/WaterDoorMotion?id=404273, а затем извлечь его на перенаправленной странице, например,

var sensorId = new RegExp('[\?&]id=([^&#]*)').exec(window.location.href);//RegExp for extracting
      var cId = "";
      if(sensorId != undefined){
        if(sensorId.length > 1){
          cId = sensorId[1];
        }
      }
console.log("cId",cId); 
.
...