有两种方法可以在Angular中初始化变量。
一种方法是使用 ng-init :
<html>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js">
</script>
<body>
<div ng-app="" ng-init="firstName='John'">
<p>Name: {{ firstName }}</p>
</div>
</body>
</html>
另一种方法是使用控制器:
<html>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js">
</script>
<body>
<p ng-app="myApp" ng-controller="myCtrl">
Name: {{ firstName }}
</p>
<script>
var app = angular.module("myApp", []);
app.controller("myCtrl", function($scope) {
$scope.firstName = "John";
});
</script>
</body>
</html>
前者比后者简单,但是,我认为第二个更为普遍。
那么这些方法之间有什么区别,哪种更好?
答案 0 :(得分:0)
尝试此示例
ng-init:
ng-init 的目的是初始化模板中的属性。
区别在于,当HTML中包含ng-init时,init()
函数将仅在页面的实际呈现期间被调用。如果出于任何原因需要重新渲染内容,将再次调用init()
函数。
控制器:
AngularJS应用程序主要依靠控制器来控制应用程序中的数据流。 controller 是使用ng-controller指令定义的。控制器是一个JavaScript对象,其中包含属性/属性和函数。