ユーザが選択できるようにいくつかの定義済みの色を追加したいと思います。私は色の$スコープ配列を作成し、配列の要素によってボタンを作成しました。各ボタンにはng-click属性があり、渡されたカラープロパティを処理するメソッドをコントローラで呼び出す必要があります。文字列をng-repeatの角度メソッドに渡す
私のhtml:
<button ng-repeat="color in colors" style="background-color:{{color}};" ng-click="ChangeBgColor(color)"></button>
とコントローラ:
$scope.colors = ['#ddd', '#b2b2b2', '#0c60ee', '#0a9dc7', '#28a54c', '#e6b500', '#e42112', '#6b46e5', '#111', 'orange', 'yellow', 'maroon', 'green', 'brown', 'lightblue'];
$scope.ChangeBgColor = function(selectedColor)
{
console.log(selectedColor);
$scope.selectedProduct.bgcolor = selectedColor;
}
コントローラではconsole.logは常に配列の最初の要素を持っている、#ddd。私はChangeBgColor( '{{color}}')で試したこともありますが、それでもどちらも助けませんでした。 (DOMを調べると、同じ結果が文字列パラメータとして表示されます)
より良い方法は、selected-product.bgcolorプロパティをng-repeatにバインドして、angleが選択を行い、ユーザーは他の色を選択していますが、私は角度がついていないので、これは一日過ぎているようです。
https://jsfiddle.net/stevenkaspar/bu9r82ct/これはあなたの探しているものではありません。私は問題が表示されません –
@StevenKaspar私は同じコードを持っていて、鉱山は働いていません。あなたのjsfiddleにあるものが動作し、選択された色がメソッドに渡されます。 – Perrier
他のボタンをクリックすると、最初のボタンがプッシュしているように見えます...ラジオボタンなどのようです。 – Perrier