2017-06-13 5 views

答えて

3

それはあなたが考えるだけではないか、ありません。 ngRepeatは独自の子スコープを作成するので、クリックするたびにその子スコープにselected_colorという新しい変数を作成して設定します。

あなたのコントローラ上のメソッドを作成し、その代わりということを呼び出します。

$scope.setColor = function(color) { 
    $scope.selected_color = color; 
} 

そして、これを使用します。あなたは、コントローラを使用するのではなくている場合http://jsfiddle.net/s6vrz184/1/

:フィドルを更新しました

<div ng-repeat="color in colors" ng-click="setColor(color)" style="cursor:pointer;">{{ $index }} - {{ color }}</div> 

を何らかの理由で関数$parentを使用してselected_color変数をインラインに設定することもできますが、これはお勧めできません。

<div ng-repeat="color in colors" ng-click="$parent.selected_color=color" style="cursor:pointer;">{{ $index }} - {{ color }}</div> 

$parentフィドル:http://jsfiddle.net/s6vrz184/2/

+0

[OK]を、説明のために感謝します。 –

関連する問題