基于另一个值的不同 ng 单击



我让用户上传自己的照片,当这种情况发生时,我拍摄图像,使其变小,添加属性(ng-click(,编译它并附加到newelement。这在照片上传时触发一次:

 var myEl = angular.element(image); // getting an image
 myEl.attr('ng-click', 'openImage($event)'); // adding ng-click
 $compile(myEl)($scope); //compile
 newelement.append(myEl); // adding to an element in the DOM

问题是之后我想要要么有 ng-click 属性,要么不基于$rootScope.activeTab的值(在一个选项卡中,我想有 ng-click,在另一个选项卡中 - 不要(。还不确定如何处理这种情况。

$rootScope.activeTab被监视并根据用户的选项卡动态变化。

尝试了这样的事情:myEl.attr('ng-click', $rootScope.activeTab === 'stickers' ? '' : 'openImage($event)');但它不起作用,因为它在上传时被评估一次。当我切换到其他选项卡时,此值不会更新。

忘记删除ng-click .您可以在openImage函数中处理逻辑。

$scope.openImage = function($event) {
  if ($rootScope.activeTab === 'stickers') {
    return;
  }
  // Do whatever you were planning on doing.
};

最新更新