angularjs如何将元素属性传递给ng-show函数

时间:2017-09-06 07:23:06

标签: javascript angularjs angularjs-ng-show

我的应用程序中有一个图表,如

<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> 

在isChecked函数中,我想得到这个画布的id,这是&#34; line&#34;在这种情况下。然后我想在一个$ scpoe.array中检查此ID的存在,并根据在线状态我想返回true或false以使图表显示/隐藏。

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

我的问题是我无法通过任何方式获得ID功能。 &#34;这&#34;也没有用。我尝试了下面提到的指令方式,但这也行不通。

  

Pass element using ng-show AngularJS

请帮忙。

2 个答案:

答案 0 :(得分:0)

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

在angularjs中

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

      // some code
      return true;    
  };

答案 1 :(得分:0)

您可以获得如下ID:

np.column_stack

或者:

<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;
    }
};

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

如果您从另一个 $scope.isChecked = function(id){ if(id == 'line'){ return true; }else{ return false; } } 或其他数组中获取该数据,请将其作为ng-repeat传递。