2014-02-27 54 views
0

我在這裏有一個帶有指令profile-unlink的按鈕html。點擊按鈕後,我想更改設置爲profile-link的指令。這是可能的角js?單擊按鈕時更改角度指令

守則HAML:

來源:

%button.unlink{"ff-profile-unlink" => "true"} Unlink Facebook 

要:

%button.unlink{"ff-profile-link" => "true"} Link Facebook 
+0

而不是改變指令,你能改變指令範圍中的變量嗎? –

回答

1

一種方法是有兩個按鈕和顯示/隱藏他們根據你的應用程序的狀態,使用ng-showng-hide。弗爾例如:

%button.unlink{"ff-profile-unlink" => "true", "ng-show" => "linked_to_facebook", "ng-click" => "unlink_facebook"} Unlink Facebook 
%button.unlink{"ff-profile-link" => "true", "ng-hide" => "linked_to_facebook", "ng-click"="link_facebook"} Link Facebook 

然後

function SomeCtrl ($scope) { 
    $scope.link_facebook: function() { $scope.linked_to_facebook = true}, 
    $scope.unlink_facebook: function() { $scope.linked_to_facebook = false}, 
} 

另一種方法是使用CSS來達到同樣的效果。這裏的邏輯是有兩個按鈕,每次使用CSS隱藏/顯示一個按鈕。這裏有一個例子:

%div#links 
    %button.unlink{"ff-profile-unlink" => "true"} Unlink Facebook 
    %button.link{"ff-profile-link" => "true"} Link Facebook 

,並在你的SASS:

.linked_to_facebook { 
    .link { display: hidden} 
    .unlink {display: block} 
} 
.unlinked_from_facebook { 
    .link { display: block} 
    .unlink {display: hidden} 
} 

那麼你可以使用addClassremoveClass添加和刪除linked_to_facebookunlinked_from_facebook#links股利。

P.S:上面的代碼可以改進。這只是爲了表明這一點。

+0

工程就像一個魅力。謝謝!使用你的CSS方法。呵呵 – Jhn

1

第一個評論是正確的,只是做一個函數,它把兩件事情。要做到這一點

%button.unlink{"ff-profile-linked-setter" => "true"} 

%button.unlink{"ff-profile-linked-setter" => "false"} 
+0

稍後再試。我必須解決一些問題。呵呵謝謝。 – Jhn