📅  最后修改于: 2023-12-03 15:41:34.771000             🧑  作者: Mango
在使用JavaScript操作文档中的元素时,可以使用一些角度特定的属性和定位器来定位和修改这些元素。
ng-app
是一个指令,它定义了当前应用程序的根元素。在这个元素上设置ng-app属性可以使应用程序从这个元素开始工作。
例如,在HTML中设置:
<html ng-app="myApp">
在JavaScript中,我们可以通过以下方式来检索根元素:
var app = angular.module('myApp', []);
app.run(function($rootScope) {
console.log($rootScope);
});
ng-model
是一个指令,它绑定了表单元素(如输入字段)和应用程序的数据模型。当表单元素的值更改时,数据模型也会相应地更新。
例如,在HTML中设置:
<input type="text" ng-model="username">
在JavaScript中,我们可以检索表单元素的值:
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
$scope.username = "John Doe";
});
ng-repeat
是一个指令,它可以迭代一个数组或对象,并为其中的每个项生成一个HTML片段。
例如,在HTML中设置:
<ul>
<li ng-repeat="x in names">{{ x }}</li>
</ul>
在JavaScript中,我们可以为该数组设置值:
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
$scope.names = ["John", "Doe", "Jane"];
});
$scope
是一个类似于DOM元素节点的对象,用于管理AngularJS应用程序中的数据和功能。
例如,在JavaScript中,我们可以通过以下方式来定义$scope:
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
$scope.username = "John Doe";
});
然后我们可以在HTML中使用该数据:
<div ng-controller="myCtrl">
<p>Name: {{ username }}</p>
</div>
$rootScope
是所有$scope对象的顶级父对象,并且它在整个应用程序中都是可用的。
例如,在JavaScript中,我们可以定义一个$rootScope的属性:
var app = angular.module('myApp', []);
app.run(function($rootScope) {
$rootScope.companyName = "ABC Corp";
});
然后我们可以在HTML中使用该属性:
<div>
<p>Company: {{ companyName }}</p>
</div>
$injector
是AngularJS应用程序中的一个服务,它可以用于在运行时加载和使用其他服务。
例如,在JavaScript中,我们可以使用$injector来加载$timeout服务:
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope, $injector) {
var $timeout = $injector.get('$timeout');
$timeout(function() {
$scope.username = "John Doe";
}, 2000);
});
其中$timeout
是一个在2000ms后更改$scope.username的服务,可以通过$injector.get
来获取它。
以上便是角度特定属性和定位器列表。通过学会使用这些属性和定位器,可以更好地操作AngularJS应用程序中的元素。