我让用户上传自己的照片,当发生这种情况时,我拍摄图像,缩小图像,添加属性(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)');
但它不起作用,因为它在上传时评估一次。当我切换到另一个标签时,此值不会更新。
答案 0 :(得分:0)
忘记删除ng-click
。您可以在openImage
函数中处理逻辑。
$scope.openImage = function($event) {
if ($rootScope.activeTab === 'stickers') {
return;
}
// Do whatever you were planning on doing.
};