Проблемы, у которых он обнаруживал бы у меня функции моего controller

Я пробую делать Меню (с первым, секунда и десерт) и мне хотелось бы вводить один input чтобы вводить новую тарелку в array который я создал (чтобы это показывать с ng-repeat).

Кажется, что он не вводит меня внутри функций, в которые я верю в controler, и ничего не делает мне. Он не показывает мне никакой ошибки...

Я остаюсь без идей. Я оставляю вам код HTML и код Angular.js.

Код HTML

<!DOCTYPE html>
<html>
<head>
    <title>Angular JS</title>
</head>
<!-- Angular JS -->

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>


<body ng-app="myApp">
     <div  ng-controller="MenuController">
        <ul>

            <h1>Menu</h1>
            <h2>Primer Plato</h2>

            <li ng-repeat="x in menu.primero">
                    {{ x }}

            </li>
            <input type="text" ng-model="cambiarPrimero" ng-keypress="MenuController.keyPressOnForm($event)" />
            <h2>Segundo Plato</h2>

            <li ng-repeat="x in menu.segundo">
                    {{ x }}
            </li>

            <h2>Postre</h2>

            <li ng-repeat="x in menu.postre">
                    {{ x }}
            </li>
        </ul>
    </div>


    <script type="text/javascript" src="app.js"></script>
    </body>
    </html>

Код AngularJS (сохранять это в корне как app.js)

var app =  angular.module('myApp', []);

app.controller("MenuController", function ($scope) {
    $scope.menu= {
      primero: ['sopa', 'paella','calamares'],
      segundo: ['carne','pescado','tortilla'],
      postre: ['fruta','yogur']
    };



    var keyPressOnForm = function(event) {
      if (event.keyCode === 13) { //la key 13 es el enter
        function updatePlato(){
            $scope.menu.primero.push($scope.cambiarPrimero.text);
        }
        updatePlato();
      }
    }
});

Каждая идея хорошая.

0
задан 17.01.2017, 20:19
0 ответов

Ты смог бы probra реализовывая следующие изменения, в тебе html:

ng-keypress="keyPressOnForm($event)

В твоем controller:

$scope.keyPressOnForm = function(event) { if (event.keyCode === 13) { //la key 13 es el enter function updatePlato(){ $scope.menu.primero.push($scope.cambiarPrimero); } updatePlato(); } }

Использовав $scope.keyPressOnForm они это дают достижение функции внутри тебя controller.

1
ответ дан 03.12.2019, 17:38
  • 1
    Не работает. Спасибо –  18.01.2017, 10:59
  • 2
    если ты лишаешь его .text, функционируй. Издай твой ответ и я подтверждаю это тебе –  18.01.2017, 14:50
  • 3
    Превосходный. Договорились. –  18.01.2017, 15:57

Теги

Похожие вопросы