基于另一个值的不同ng-click

时间:2017-05-10 19:21:07

标签: jquery angularjs

我让用户上传自己的照片,当发生这种情况时,我拍摄图像,缩小图像,添加属性(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的值(在一个标签中我想要点击,在其他 - 不要)。还不确定如何处理这种情况。

$rootScope.activeTab会根据用户的标签进行动态更改。

尝试过类似这样的事情:myEl.attr('ng-click', $rootScope.activeTab === 'stickers' ? '' : 'openImage($event)');但它不起作用,因为它在上传时评估一次。当我切换到另一个标签时,此值不会更新。

1 个答案:

答案 0 :(得分:0)

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

$scope.openImage = function($event) {
  if ($rootScope.activeTab === 'stickers') {
    return;
  }

  // Do whatever you were planning on doing.
};