Угловая переменная, инициализированная с помощью ng-init, всегда не определена
Я изучаю AngularJS. Теперь я инициализирую переменную с помощью ng-init. Но значение переменной всегда не определено. Мой код ниже:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Angularjs popup</title>
<script src="http://localhost:8888/angular/angular-js.min.js"></script>
</head>
<body>
<section ng-app="myApp" ng-controller="MainCtrl" ng-init="quantity=1;cost=5">
</section>
</body>
<script type="text/javascript">
var myApp = angular.module('myApp', []);
myApp.controller('MainCtrl',function($scope){
alert($scope.quantity)
})
</script>
</html>
Когда я запускаю приведенный выше код, он всегда предупреждает "undefined" для количества, даже если я инициализировал с помощью ng-init. Что не так с моим кодом? Могу ли я так не инициализироваться?
1 ответ
ng-init в шаблоне вызывается после инициализации приложения. Если бы вы поместили {{количество}} или {{стоимость}} в свой шаблон, вы бы увидели, что ваши значения отображаются в соответствии с ожиданиями.
Могу я спросить, почему вы используете ng-init? Если вы хотите жестко закодировать ваши значения количества и стоимости, вам лучше сделать это в контроллере. Стоит посмотреть на угловые документы для этого, он предлагает аналогичный подход