Данные не связываются в поле зрения

0

В приведенном ниже коде,

<!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title>Controller</title>
            <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.3.20/angular.js"></script>
            <script type="text/javascript">
                var app = angular.module("sample", []);
                app.controller("emp", function(){
                        this.Name = "jag";
                    });
            </script>
        </head>
        <body ng-app="sample">
            <div ng-controller="emp">
                Hello {{Name}}
            </div>

        </body>
    </html>

Выражение {{ Name }} не оценивается.

1) Как проверить, привязана ли модель $scope к шаблону div?

2) Я узнал, что область охвата находится в DOM. Экземпляр контроллера создается с помощью директивы ng-controller="emp". Могу ли я получить доступ к экземпляру контроллера (emp) и $scope через DOM?

Теги:

1 ответ

2

Используйте controller as если бы вы использовали this вместо $scope. Controllers как classes, мы initializing их (var student = new Student()), используя controller as синтаксиса.

var app = angular.module("sample", []);
app.controller("emp", function() {
  this.Name = "jag";
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<body ng-app="sample">
  <div ng-controller="emp as e">
    Hello {{e.Name}}
  </div>

</body>
  • 0
    Я узнал, что область видимости находится в DOM, прикрепленном к элементу ( div ). Экземпляр контроллера создается с использованием директивы ng-controller="emp" . Могу ли я получить доступ к экземпляру контроллера ( emp ) и this.Name через DOM?
  • 0
    Да! Экземпляр контроллера будет создан, но элементы будут привязаны к $scope если controller as не используется. Вы можете сравнить сценарий с student example . Вы можете иметь дело с this контекстом в конструкторе и можете использовать properties and methods класса со ссылкой на переменную, используя класс, который инициализирован. Обратитесь к этому, если вы предполагаете использовать $scope => jsfiddle.net/p0jLkkbn
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню