angularjs 如何将元素属性传递给 ng-show 函数
angularjs how to pass element properties to ng-show function
我的应用程序中有一张图表,
<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 函数中,我想获取此 canvas 的 ID,在本例中为 "line"。然后我想检查这个 ID 在一个 $scpoe.array 中是否存在,并根据存在我想 return true 或 false 来制作图表 show/hide.
$scope.isChecked = function() {
console.log('i am in isChecked function');
console.log(this);
// some code
return true;
};
我的问题是我无法通过任何方式获得 ID 的功能。 "this" 也不起作用。我尝试了下面提到的指令方式,但这也不起作用。
请帮忙。
ng-click="isChecked('line')"
在angularjs
$scope.isChecked = function(id) {
console.log(id);
// some code
return true;
};
您可以像下面这样获取id:
<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
或其他数组获取的,只需将其作为 model
传递即可。
我的应用程序中有一张图表,
<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 函数中,我想获取此 canvas 的 ID,在本例中为 "line"。然后我想检查这个 ID 在一个 $scpoe.array 中是否存在,并根据存在我想 return true 或 false 来制作图表 show/hide.
$scope.isChecked = function() {
console.log('i am in isChecked function');
console.log(this);
// some code
return true;
};
我的问题是我无法通过任何方式获得 ID 的功能。 "this" 也不起作用。我尝试了下面提到的指令方式,但这也不起作用。
请帮忙。
ng-click="isChecked('line')"
在angularjs
$scope.isChecked = function(id) {
console.log(id);
// some code
return true;
};
您可以像下面这样获取id:
<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
或其他数组获取的,只需将其作为 model
传递即可。