我試圖在每列頂部創建一個帶有過濾器的表格。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>