0

我在网格中显示数据,单击活动或非活动按钮时,我必须更改按钮,功能工作正常,更改图标我无法找到活动单击按钮,在 jquery 中我们可以使用“ 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);
                            }
                        );
4

1 回答 1

3

您不需要使用this来访问该按钮。相反,在您的控制器中创建一个包含按钮所有属性的 javascript 对象。像这样的东西:

$scope.myButton = {
  src : 'foobar.png',
  isVisible : true
};

然后,像这样定义您的按钮:

<img ng-src="myButton.src" ng-show="myButton.isVisible" />

现在,当您想修改按钮的任何属性时,您只需要更改 javascript 对象myButton,Angular 将负责更新实际按钮。

例如,如果要隐藏按钮:

// you don't need to do this
// $('#myButton').hide();

// instead just do this
$scope.myButton.isVisible = false;

同样,您也可以更改图像的 src。

于 2013-07-14T09:23:54.293 回答