Estoy tratando de entender cómo usar una entrada y recuperar una respuesta usando Angular todo dentro del script. Soy nuevo en esto y saqué este script de codepen. Incluí la llamada que estoy tratando de hacer al final del código, pero no lo he resuelto. Este script compara un color de entrada con una matriz de colores predeterminados y escupe la coincidencia más cercana. Pido disculpas de antemano si no estoy usando la terminología correcta, todavía estoy aprendiendo.
angular.module('myApp', []) .controller('control', function($scope, $filter){ var colors = ["27b69d", "23a68f", "1aa48c", "17846f", "0f8b7d", "0e7e72", "0a876e", "097b64", "0a584d", "095046", "ffffff", "000000", "7e888e", "737c81", "383d40", "33373a", "272727", "018391", "017784", "db1e39", "c71b34", "fffee8", "ffb661", "fafafa", "e8e8e8", "d8d8d8", "e7f5f3", "5d6468", "4c5256", "31343b", "2f3335"]; $scope.colors = colors; $scope.submit = function() { $scope.new = $scope.newColor; var res = []; angular.forEach(colors, function(value, key) { res.push(getDiffColor(value, $scope.newColor)); }); $scope.colors = $filter('filter')(colors, colors[res.indexOf(Math.min.apply(null, res))]); }; $scope.raz = function () { $scope.newColor = null; $scope.colors = colors; } getDiffColor = function(cola, colb) { a = hexToRgb(cola); b = hexToRgb(colb); return Math.sqrt(Math.pow((ar - br),2) + Math.pow((ag - bg),2) + Math.pow((ab - bb),2)); } function hexToRgb(hex) { var result = /^#?([af\d]{2})([af\d]{2})([af\d]{2})$/i.exec(hex); return result ? { r: parseInt(result[1], 16), g: parseInt(result[2], 16), b: parseInt(result[3], 16) } : null; } var input = "FFFFFF"; var result = $scope.submit(input) console.log(result); }) ; `Agregué esto al final y sé que no es correcto, pero es esencialmente lo que estoy tratando de lograr. El problema es que no estoy seguro de qué poner en "resultado".