我正在尝试使用ng-repeat显示网格div。它将显示三个网格,每个网格都带有作为参数传递的SensorID。现在,我创建了一个ng单击以在每个div单击时重定向到另一个页面。重定向时,我还想传递每个div的相应SensorID。
我已经尝试过将参数传递给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>
答案 0 :(得分:0)
您可以在查询参数中传递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);