我试图在每列顶部创建一个带有过滤器的表格。angular.js表格过滤
我无法弄清楚为什么任何过滤器工作,但不是个别柱过滤器。
我自己也尝试设置NG-模型之后编译元素的代码,但没有奏效。
任何人都可以请帮忙吗?
我试图在每列顶部创建一个带有过滤器的表格。angular.js表格过滤
我无法弄清楚为什么任何过滤器工作,但不是个别柱过滤器。
我自己也尝试设置NG-模型之后编译元素的代码,但没有奏效。
任何人都可以请帮忙吗?
你可以做到这一点,如果你摆脱的指令,并使用输入[文]像这样的NG-改变属性:
function TestController ($scope) {
$scope.valueChanged = function (name, value) {
if (!$scope.search) {
$scope.search = {};
}
$scope.search[name] = value;
}
};
<body ng-controller="TestController">
<th ng-repeat="sortName in columnNames">
<input type=text ng-model="value" ng-change="valueChanged(sortName, value)">
</th>
答案的短版,为什么你原来的代码不起作用的是ngRepeat creates a new scope,并且ng模型中的值必须是可分配的变量。
正如@Ryan指出的那样,ng-repeat的嵌套作用域是关键。编写一个控制器,还有另外一种方法是使用子范围的$ parent属性来访问父范围搜索属性:
<th ng-repeat="sortName in columnNames">
<input type=text ng-model="$parent.search[sortName]"></th>
正如@瑞安的解决方案,不需要指令。 然而,额外的搜索属性需要被创建/初始化:
<div ng-init="search.name = ''; search.phone = ''"></div>