AngularJS не представляет переменные контроллера в представлении, они пусты - PullRequest
0 голосов
/ 06 апреля 2020

У меня есть этот код javascript в сценарии с именем index. js и html в индексе. html, проблема в том, что переменная "message" не рисует его на экране.

Кто-нибудь знает, что я делаю не так? Я очень привык к Angular, но я только начал с AngularJS, так как у меня есть проект для доставки клиенту, и они хотят его использовать в этой технологии.

Приветствие.

angular.module('holamundo', [])
        .controller('miControlador', miControlador);

    function miControlador(){
        var scope = this;
        scope.mensaje = "Hola, ¿Como estas?";

        console.log(scope);

        init();

        function init(){
        }
    }
<!DOCTYPE html>
<html lang="en" ng-app="holamundo" ng-controller="miControlador">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Angular JS - Hola Mundo</title>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.7.9/angular.min.js"></script>
    <script src="./index.js"></script>
</head>
<body>
    <div>
        {{mensaje}}
    </div>
</body>
</html>

Ответы [ 2 ]

0 голосов
/ 10 апреля 2020

Вы можете напрямую использовать $ scope.mensaje = "// ваш текст здесь";

0 голосов
/ 06 апреля 2020

Используйте $ scope вместо этого.

В представлении HTML доступны только переменные, объявленные в $ scope.

Подробнее здесь: 'this' vs $ scope в AngularJS контроллеры

angular.module('holamundo', [])
        .controller('miControlador', miControlador);

    function miControlador($scope){
        var scope = $scope;
        scope.mensaje = "Hola, ¿Como estas?";
        init();

        function init(){
        }
    }
<!DOCTYPE html>
<html lang="en" ng-app="holamundo" ng-controller="miControlador">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Angular JS - Hola Mundo</title>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.7.9/angular.min.js"></script>
    <script src="./index.js"></script>
</head>
<body>
    <div>
        {{mensaje}}
    </div>
</body>
</html>
...