我想添加一些预定义的颜色供用户选择。我使用颜色创建了一个$ 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