2017-05-10 19 views
0

我讓用戶上傳自己的照片,然後發生這種情況時,我將圖像縮小,添加屬性(ng-click),編譯並附加到newelement。這是觸發一次上載相片:基於另一個值的不同ng鍵單擊

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-點擊屬性或不基於這涉及到$rootScope.activeTab值(在一個選項卡我想有NG-點擊,在其他 - 不)。還不確定如何處理這種情況。

$rootScope.activeTab被監視並根據用戶在哪個標籤中動態更改。

嘗試這樣的事情:myEl.attr('ng-click', $rootScope.activeTab === 'stickers' ? '' : 'openImage($event)');但它不起作用,因爲它在上傳時評估一次。當我切換到不同的選項卡時,此值不會更新。

回答

0

忘掉刪除ng-click。您可以在openImage函數中處理您的邏輯。

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

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

哇,不知道爲什麼我這麼想,我的意思是這麼複雜。謝謝!這有幫助! – funguy

+1

np - 我們都這樣做 - 我們陷入瞭解決問題的一種方式,我們錯過了其他方式。 –

相關問題