Как получить доступ к переменным ng-init, используя элемент DOM div?
В приведенном ниже коде переменные определяются с помощью ng-init
директива, угловое выражение дает доступ к этим переменным,
<body ng-app="">
<div ng-init="arr = [1, 2, 3, 4];obj={x:1}">
{{arr[0]}}
</div>
</body>
Используя код JavaScript,
<body ng-app="">
<div ng-init="arr = [1, 2, 3, 4];obj={x:1}">
<script type="text/javascript">
//access arr[0] using div DOM object
</script>
</div>
</body>
Я узнал, что данные напрямую связаны для просмотра (DOM).
Чтобы знать работу под капотом ng-init
директива, как получить доступ arr[0]
с помощью div
Элемент DOM?
2 ответа
Вы можете получить к нему доступ только в контроллере. Код внутри контроллера будет выглядеть так:
var value = $scope.arr[0];
Вам нужно добавить угловые компоненты в ваше приложение. Сначала добавьте модуль вашего приложения, а затем добавьте контроллер этой области.
<html>
<body ng-app="App">
<div ng-controller="mainCtrl" ng-init="init()">
{{arr[0]}}
</div>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular.min.js"></script>
<script type="text/javascript">
var app = angular.module('App',[]);
app.controller('mainCtrl', ['$scope', function($scope) {
$scope.arr = [];
$scope.obj = {};
$scope.init = function(){
$scope.arr = [1, 2, 3, 4];
$scope.obj={x:1};
};
}]);
</script>
</body>
</html>