我想添加一些預定義的顏色供用戶選擇。我使用顏色創建了一個$ scope數組,並通過數組元素創建了按鈕。每個按鈕都有一個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時,我可以看到不同的顏色作爲字符串參數。)
更好的方法是將selectedProduct.bgcolor屬性綁定到ng-repeat並讓angular做選擇並在用戶選擇其他顏色,但我是新角色,這似乎太多了一天。
https://jsfiddle.net/stevenkaspar/bu9r82ct/這不是你想要的。我沒有看到問題 –
@StevenKaspar我有相同的代碼,我的工作不正常。 jsfiddle中的一個可以工作,它將選定的顏色傳遞給方法。 – Perrier
當我點擊另一個按鈕時,第一個按鈕看起來像推動...就像他們是單選按鈕或其他東西。 – Perrier