W mojej aplikacji jest jeden wykres

<canvas id="line" class="chart chart-line" height="250" width="{{width_chart}}" chart-data="data" chart-labels="labels" chart-series="series" chart-options="options" chart-colors="colors" chart-dataset-override="datasetOverride" chart-click="onClick" ng-show="isChecked()"> </canvas> 

W funkcji ischecked chcę uzyskać identyfikator tego płótna, który jest w tym przypadku "linia". Wtedy chcę sprawdzić obecność tego identyfikatora w jednym $ SCPOE.ARray i na podstawie obecności Chcę zwrócić true lub false, aby wykres wystawić / ukryć.

$scope.isChecked = function() {
console.log('i am in isChecked function');
console.log(this);
      // some code
      return true;    
  };

Mój problem polega na tym, że nie jestem w stanie uzyskać identyfikatora w funkcji. "To" również nie działa. Próbowałem dyrektywy o wymienionych poniżej, ale nie działa również.

Pass Element za pomocą NG-Show AngularJs

Proszę pomóż.

0
usersam 6 wrzesień 2017, 10:23

2 odpowiedzi

Najlepsza odpowiedź

Możesz uzyskać identyfikator podobny do:

<div id="line" ng-click="ShowId($event)" ng-show="isChecked"></div>  

$scope.ShowId = function(event){
    var id = event.target.id;
    if(id == 'line'){
      $scope.isChecked = true;
    }
};

Lub:

<div id="line" ng-click="ShowId($event)" ng-show="isChecked('line')"
 $scope.isChecked = function(id){ 
        if(id == 'line'){
          return true;
        }else{
          return false;
        }

  }

Jeśli dostajesz to z innego ng-repeat lub inna tablica po prostu przekaż ją jako model.

0
Pritam Banerjee 7 wrzesień 2017, 05:19

ng-click="isChecked('line')"

W Angularjs.

$scope.isChecked = function(id) {
console.log(id);

      // some code
      return true;    
  };
0
Boaz 6 wrzesień 2017, 07:38