Html AngularJS处理输入值
当我开始输入一个学生的名字时,比如“M”,学生的名单只需要包括学生,学生的名字以字母“M”开头,等等。但输入值。长度一直未定义Html AngularJS处理输入值,html,angularjs,Html,Angularjs,当我开始输入一个学生的名字时,比如“M”,学生的名单只需要包括学生,学生的名字以字母“M”开头,等等。但输入值。长度一直未定义 (function() { var app = angular.module('app', []); app.controller('DataController', function() { this.students = arr; this.compare = function() { for (var i = 0; i <
(function() {
var app = angular.module('app', []);
app.controller('DataController', function() {
this.students = arr;
this.compare = function() {
for (var i = 0; i < this.text.length; i++) {
if (this.text[i] == this.students.name[i]) {
alert(this.text);
return true;
}
}
}
});
var arr= [{
name: 'Azurite',
price: 2.95
}, {
name: 'Bloodstone',
price: 5.95
}, {
name: 'Zircon',
price: 3.95
}];
}());
(函数(){
var-app=angular.module('app',[]);
app.controller('DataController',function(){
this.students=arr;
this.compare=函数(){
for(var i=0;i
HTML
按名称排序
按年龄分类
重置
形象
名称
年龄
电话
{{student.name}
41
sieg@example.com
执行此操作的角度方法是使用内置于角度的过滤器
首先,要在其中键入搜索的文本框:
<input class="col-md-12 col-xs-12" type="text"
placeholder="Search people by name..." ng-model='data.text'>
控制器中根本不需要任何东西
此.text
未在任何地方定义。看起来您已将控制器声明为类似于DataController的data
,因此您的ng模型应该是data.text
,而不仅仅是text
,但即使这样也不起作用,因为函数中的此
指向函数,而不是控制器……只需使用过滤器。这就是它的目的。无需编写您自己的。@Claies,它是在ng模型属性中定义的。但这就是重点,它肯定不是在ng模型
中设置的,ng模型
指向$scope
上的属性。同样,正如我所说,即使更改为数据。text
而不是text
也不起作用,因为函数无法访问控制器的属性;这里有一个HTML文档,试图遍历学生
,但是您的示例数据看起来像gems
?代码中一半的属性不在数据集中。
<input class="col-md-12 col-xs-12" type="text"
placeholder="Search people by name..." ng-model='data.text'>
<tbody ng-repeat='student in data.students | filter:data.text'>