Ich habe eine Schaltfläche, die ich mit ng-show
basierend auf dem Wert meiner Id umschalten möchte.angularjs Objekte aufrufen und Werte zurückgeben
in meinem javascript
Ich rufe meinen Dienst von der Funktion und dann von einer anderen Funktion.
Mein Problem ist, wenn ich mit ng-Klick kann ich die richtige Id zurückgeben, aber bei der Verwendung von ng-init gibt es den Wert als undefined zurück.
Wie kann ich den Id-Wert von einem "onload" -Ereignis wie ng-init aufrufen und definieren?
HTML
<button type="button" class="col button button-small button-dark" ng-click="showMe(ph);" ng-init="showMe(ph);">
Check In
</button>
Javascript Service Anfahrts
$scope.PhaseData = function(Truck) {
var TruckID = window.localStorage['truckid'];
$http.get("http://localhost:53101/TruckService.svc/GetStatusA/" + TruckID)
.success(function(data) {
var PhaseID = null;
var obj = data;
var ar = [];
angular.forEach(obj, function(index, element) {
angular.forEach(index, function(indexN, elementN) {
ar.push({PId: indexN.PId, PhaseId: indexN.fk_Phase, Checkin: indexN.Checkin, Chassis: indexN.ChassisPrep, Floor: indexN.Floor, Body: indexN.Body, Paint: indexN.Paint, PhaseName: indexN.PhaseName });
$scope.ph = ar;
/* $scope.PHID = 1; indexN.PId*/
})
});
})
.error(function(data) {
console.log("failure");
})
};
Funktion
$scope.showMe = function(ph)
{
console.log('2', $scope.ph[0].PId);
console.log('cool');
if ($scope.ph[0].PId >= 1)
{
$scope.show=true;
}
else if($scope.ph[0].PId <= 2)
{
$scope.show=false;
}
}
kommt Werden von einem ng-Controller tun Sie das? Wenn Sie, können Sie die $ scope.showMe direkt vom Controller aus tun, anstatt ng-init zu verwenden. Dies wird auch von angular-js vorgeschlagen: https://docs.angularjs.org/api/ng/directive/ngInit – kazenorin