我有一个指令,该模板使用 ng-include:
<ng-include src="filterTemplate"></ng-include>
模板由指令动态更改:
link: function (scope, element, attrs) {
switch (scope.type) {
case 'string':
scope.filterTemplate = "app/common/views/templates/gridHeaderString.html";
break;
case 'number':
scope.filterTemplate = "app/common/views/templates/gridHeaderNumber.html";
break;
default:
}
scope.filter = function () {
scope.filters[scope.col.field] = { value: scope.filterValue, operator: scope.filterOperator };
scope.searchMethod();
}
}
例如,gridHeaderString 模板如下所示:
<input id="test" type="text" placeholder="Filter..." ng-model="filterValue" />
在指令内的过滤器函数中,scope.filterValue 不起作用,因为 filterValue 存在于 ng-include 的子作用域中。
所以在 ng-include 模板中,我尝试过:
ng-model="$parent.filterValue"
但这仍然行不通。
如何将 ng-include 中的模型绑定到指令的范围?