Угловой во внешнем файле не работает - PullRequest
0 голосов
/ 30 мая 2018

Чтобы было легче понять, я сделал два примера, один из которых работает, а другой нет.

Первый - это содержимое скрипта внутри html-страницы, и оно работает нормально.

        <html ng-app>
          <head>
              <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>
          </head>
          <body>
            <input type="text" ng-model="helloAngular" />
            <h1>{{helloAngular}}</h1>
          </body>
        </html>

Это часть кода, которая не работает (внутри той же HTML-страницы):

        <div ng-app="app">
            <p>Try to change the names.</p>
            <div ng-controller="personController">
                <p>
                    First Name:
                    <input type="text" ng-model="firstName" />
                </p>
                <p>
                    Last Name:
                    <input type="text" ng-model="lastName" />
                </p>
                <p>
                    Full Name:
                    {{firstName}} {{lastName}}
                </p>
            </div>
        </div>

И это js-файл:

angular.module("app", []).controller("personController", function ($scope) {
    $scope.firstName = "John";
    $scope.lastName = "Doe";
});

После компиляции это выглядит так:

It looks like this

Файл javascript правильно включен в html (я пробовал $ (document) .ready ()),Конечно, для второго примера я удалил атрибут ng-app из тега html.

Также попытался очистить куки и кеш, но безуспешно.То же самое происходит в других браузерах.

Я использовал этот файл Angular для других функций приложения, и все они больше не работают.Он перестал работать, когда я открыл файл и добавил новый контроллер в существующий модуль приложения.Чтобы быть уверенным, я попробовал приведенный выше пример в новом файле .js, а также попытался закомментировать весь предыдущий угловой код в упомянутом угловом файле.

РЕДАКТИРОВАТЬ 1.

Хорошо, я скопировал / вставил угловой код inline в html, но все равно не повезло.

        <script type="text/javascript">
            angular.module("app", []).controller("personController", [$scope, function ($scope) {
                $scope.firstName = "John";
                $scope.lastName = "Doe";
            }]);
        </script>


        <div ng-app="app">
            <p>Try to change the names.</p>
            <div ng-controller="personController">
                <p>
                    First Name:
                    <input type="text" ng-model="firstName" />
                </p>
                <p>
                    Last Name:
                    <input type="text" ng-model="lastName" />
                </p>
                <p>
                    Full Name:
                    {{firstName}} {{lastName}}
                </p>
            </div>
        </div>

Используя проект плунжера @BarouchKandov, я воссоздал проблему, и она работает в рамках проекта плунжера, но та же самаячасть кода не работает в моем проекте ASP.NET.

Проект Plunker

Я также пытался удалить скобки [$ scope, ...]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...