我在网格中显示数据,点击活动或非活动按钮我必须更改按钮,功能正常,更改图标我无法找到活动的点击按钮,在jquery中我们可以使用“< strong> this “,但在角度js中不知道,请帮忙
$scope.activeSource = function(datasource,status)
{
$scope.loading = true;
$scope.activeInfo = {
datasource:datasource,
};
$scope.alerts = [];
if(status == "Stopped")
{
$scope.entityService.activeInfo($scope.activeInfo,
function( msg ) // success
{
$scope.loading = false;
$rootScope.successMsg.push(msg);
$('.icon-play').hide(); // this.
$('.icon-stop').show(); // this. no idea
},
function( msg ) // error
{
$scope.loading = false;
$rootScope.successMsg.push(msg);
}
);
答案 0 :(得分:3)
您无需使用this
即可访问该按钮。相反,在您的控制器中创建一个javascript对象,该对象包含按钮的所有属性。像这样:
$scope.myButton = {
src : 'foobar.png',
isVisible : true
};
然后,按照以下方式定义您的按钮:
<img ng-src="myButton.src" ng-show="myButton.isVisible" />
现在,当您想要修改按钮的任何属性时,您只需要更改javascript对象myButton
,而角度将负责更新实际按钮。
例如,如果要隐藏按钮:
// you don't need to do this
// $('#myButton').hide();
// instead just do this
$scope.myButton.isVisible = false;
同样,您也可以更改图像的src。