В приведенном ниже коде,
<!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?
Используйте
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>
div
). Экземпляр контроллера создается с использованием директивыng-controller="emp"
. Могу ли я получить доступ к экземпляру контроллера (emp
) иthis.Name
через DOM?$scope
еслиcontroller as
не используется. Вы можете сравнить сценарий сstudent example
. Вы можете иметь дело сthis
контекстом в конструкторе и можете использоватьproperties and methods
класса со ссылкой на переменную, используя класс, который инициализирован. Обратитесь к этому, если вы предполагаете использовать$scope
=> jsfiddle.net/p0jLkkbn