AngularJS проблема возникает с интерполяцией в HTML против if / else statemetns - PullRequest
1 голос
/ 05 марта 2020

Это мой взгляд:

<!doctype html>
<html lang="en" ng-app="LunchCheck">
  <head>
    <title>Lunch Checker</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <script src="angular.min.js"></script>
    <script src="app.js"></script>"
    <link rel="stylesheet" href="styles/bootstrap.min.css">
    <style>
      .message { font-size: 1.3em; font-weight: bold; }
    </style>
  </head>
<body>
  <div class="container" ng-controller="LunchCheckController">
     <h1>Lunch Checker</h1>
     <div class="form-group" >
         <input id="lunch-menu" type="text"
             placeholder="list comma separated dishes you usually have for lunch"
             class="form-control" ng-model="input">
     </div>
     <div class="form-group">    
       <button class="btn btn-default" ng-click="stack()">
         Check If Too Much
       </button>
     </div>
     <div class="form-group message" id="result">
       <!-- Your message can go here. -->
       {{message}}
     </div>
  </div>

  </div>
  </div>
</body>
</html>

Это мой JS:

(function() {
    'use strict';

    angular.module('LunchCheck', [])
    .controller('LunchCheckController', LunchCheckController);

    LunchCheckController.$inject = ['$scope'];

    function LunchCheckController ($scope) {
        $scope.input = "";
        $scope.message = "";
        $scope.stack = function($scope, input) {

            var array = $scope.input.split(',');

            if (array.length <= 3) {
                $scope.message = "Enjoy";
            } else if (array.length > 3){
                $scope.message = "Please stop!";
            } else ($scope.input == " " || Null ) {
                $scope.message = "Please enter something."
            }
        };          
    }
    };
    }
})();

Мои проблемы в основном начинаются всякий раз, когда я пытаюсь использовать:

else ($scope.input == " " || Null ) {
    $scope.message = "Please enter something."
}

Я начинающий, но я не уверен, что делаю не так. Извините, если это грязно, я, вероятно, слишком много вставлял и редактировал.

В основном, когда я пытаюсь открыть его в своем браузере, я получаю двойные фигурные скобки под моим окном ввода, говорящие {{ message }}

1 Ответ

1 голос
/ 05 марта 2020

Обычно, когда я пытаюсь открыть его в своем браузере, я получаю двойные фигурные скобки под моим окном ввода, говоря: {{ message }}

Когда вы видите двойные фигурные скобки ({{ }}) , это обычно означает, что фреймворк AngularJS не загружен.

Проверьте консоль разработчика на наличие сообщений об ошибках.

Uncaught SyntaxError: Неожиданный токен {app. js: 20

Проблема в строке 20:

function LunchCheckController ($scope) {
    $scope.input = "";
    $scope.message = "";
    $scope.stack = function($scope, input) {

        var array = $scope.input.split(',');

        if (array.length <= 3) {
            $scope.message = "Enjoy";
        } else if (array.length > 3){
            $scope.message = "Please stop!";
        ̶}̶ ̶e̶l̶s̶e̶ ̶(̶$̶s̶c̶o̶p̶e̶.̶i̶n̶p̶u̶t̶ ̶=̶=̶ ̶"̶ ̶"̶ ̶|̶|̶ ̶N̶u̶l̶l̶ ̶)̶ ̶{̶
        } else {
            $scope.message = "Please enter something."
        }
    };
}          
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...