Angularjs angular.js表格过滤
我试图创建一个表,每个列的顶部都有一个过滤器 我无法理解为什么任何过滤器都能工作,但单个Column过滤器却不能 我有密码@ 我还尝试在设置ng模型后编译元素,但它不起作用Angularjs angular.js表格过滤,angularjs,Angularjs,我试图创建一个表,每个列的顶部都有一个过滤器 我无法理解为什么任何过滤器都能工作,但单个Column过滤器却不能 我有密码@ 我还尝试在设置ng模型后编译元素,但它不起作用 有人能帮忙吗?如果您去掉指令并使用输入[text]的ng change属性,您可以这样做: function TestController ($scope) { $scope.valueChanged = function (name, value) { if (!$scope.search) {
有人能帮忙吗?如果您去掉指令并使用输入[text]的ng change属性,您可以这样做:
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>
功能测试控制器($scope){
$scope.valueChanged=函数(名称、值){
如果(!$scope.search){
$scope.search={};
}
$scope.search[name]=值;
}
};
关于您的原始代码为什么不能工作的答案的简短版本是,ng模型中的值必须是一个可赋值变量 正如@Ryan所指出的,ng repeat的嵌套作用域就是诀窍。编写控制器方法的另一种方法是使用子作用域的$parent属性访问父作用域中的搜索属性:
<th ng-repeat="sortName in columnNames">
<input type=text ng-model="$parent.search[sortName]"></th>
在@Ryan的解决方案中,不需要指令。
但是,需要创建/初始化其他搜索属性:
<div ng-init="search.name = ''; search.phone = ''"></div>