{ "nodes": [{ "uri": "https:\/\/log.exos.ninja\/3C", "content": "# Creando una directiva en Angular que soporte ```ng-model```\r\n\r\nEsto es simple, pero buscando en internet me di cuenta que la documentaci\u00f3n que hay es mala, y en espa\u00f1ol sobretodo, inexistente.\r\n\r\nLo que vamos a hacer es crear una directiva de angular que soporte manejar un modelo con ```ng-model```, lo que me sorprende de esto es que buscando el primer resultado es una pregunta en StackOverflow llamada; [Create a directive that uses ng-model](https:\/\/stackoverflow.com\/questions\/14115701\/angularjs-create-a-directive-that-uses-ng-model) donde la respuesta ganadora tiene 172 votos, pero personalmente diserto de esta respuesta, ya que no considero que conteste a la pregunta.\r\n\r\n\u00bfPor qu\u00e9 no usar esa respuesta? Porque queremos tener las ventajas de usar ```ng-models```, como el poder validarlo dentro de un formulario.\r\n\r\nEn mi caso en particular, tuve que hacer un listado dentro de un formulario, en el que cada item puede ser seleccionado y esto afecta a los que se va a enviar al final. No voy a entrar en detalle de como funciona esto, as\u00ed que solo me centrar\u00e9 en mostrar como definir el modelo.\r\n\r\nLo primero es modificar nuestra directiva para requerir el [```NgModelController```](https:\/\/docs.angularjs.org\/api\/ng\/type\/ngModel.NgModelController#!):\r\n\r\n angular.module(\"MyApp\", [])\r\n .directive(\"selectableList\", () => {\r\n\r\n const template = `\r\n