2014-11-13 126 views
0

我有鏈接的數組:AngularJS顯示的textarea的鏈接點擊

$scope.links = [{ 
    URL: ''  
}]; 

我要讓使用data-ng-repeat認爲這些鏈接。

我該怎麼做,以便當用戶點擊其下的任何鏈接將顯示一個文本框?如果再次點擊該文本框將消失?

因此,如果HTML是:

<div data-ng-repeat="link in links"> 
    <p> 
     <a data-ng-href="{{link.URL}}">{{link.URl}}</a> 
    <p> 
    // when link above is clicked, insert here textbox 
</div> 

回答

0

你可以利用這ng-repeat創建每個項目範圍的事實。 使用一個臨時變量showHelpText,這是你如何實現它:

<div data-ng-repeat="link in links"> 
    <p> 
     <a data-ng-href="{{link.URL}}" data-ng-click="showHelpText=!showHelpText">{{link.URl}}</a> 
    <p> 
    // when link above is clicked, insert here textbox 
    <input type="text" data-ng-show="showHelpText"> 
</div> 
1

嘗試的ngClickngIf組合:

<div data-ng-repeat="link in links"> 
    <p> 
     <a data-ng-href="{{link.URL}}" 
     data-ng-click="link.$open = !link.$open">{{link.URl}}</a> 
     <input type="text" data-ng-if="link.$open" /> 
    <p> 
</div> 
+0

什麼是鏈接的'的意思$ open'我明白鏈接是從鏈接迭代的當前項目,但是'。$ open'是怎麼回事? –

+0

@DavidDury任意屬性名稱,你可以調用它,但是你想要(像一個變量)。我在前面加上'$'作爲慣例,因爲在用$ http發送數據時,斜角條帶都帶有前綴$ –