📅  最后修改于: 2023-12-03 15:12:13.775000             🧑  作者: Mango
AngularJS 是一款流行的前端框架,被广泛使用于 Web 开发中。该问题考察了对于 AngularJS 的理解,以及对于指令的使用能力。
给定如下 HTML 页面结构:
<div ng-controller="myController">
<input type="text" ng-model="name">
<button ng-click="updateName()">更新名字</button>
<ul>
<li ng-repeat="person in people">{{person.name}} - {{person.age}}</li>
</ul>
</div>
其中,myController
控制器的作用是在 $scope
中定义了一个 people
数组,其结构如下:
$scope.people = [
{name: "张三", age: 23},
{name: "李四", age: 30},
{name: "王五", age: 28},
{name: "赵六", age: 25},
{name: "钱七", age: 35},
];
请在控制器中,定义一个名为 updateName
的函数,该函数的作用是将 name
值添加到 people
数组中,同时 age
填充为 18
。
首先,在控制器中添加 updateName
函数的定义代码:
$scope.updateName = function() {
$scope.people.push({name: $scope.name, age: 18});
$scope.name = "";
};
该函数调用时,将 $scope.name
的值作为 name
存储到 people
数组中,同时 age
填充为 18
。之后将 $scope.name
置空,以便下次输入。
在 HTML 代码中,使用 ng-click
指令绑定该函数:
<button ng-click="updateName()">更新名字</button>
同时也需要注意,输入框的 ng-model
必须与 $scope.name
对应:
<input type="text" ng-model="name">
最终的效果是,当用户在输入框中输入名字并点击按钮时,控制器中的 updateName
函数被调用,将一条数据添加到了 people
数组中,并将输入框置空。
请参考下方的代码片段:
```javascript
$scope.updateName = function() {
$scope.people.push({name: $scope.name, age: 18});
$scope.name = "";
};
<div ng-controller="myController">
<input type="text" ng-model="name">
<button ng-click="updateName()">更新名字</button>
<ul>
<li ng-repeat="person in people">{{person.name}} - {{person.age}}</li>
</ul>
</div>