我的ng-model绑定到filterDetails.value似乎存在问题。它将显示值" Test",但当我将值更新为" Test1234"然后单击按钮执行filterColumn(),警报显示"测试"而不是更新的值。如果我再将值更新为" Test12345"然后单击它显示的过滤器按钮" Test1234"。它始终是一个更新。我正在使用角度版本1.2.24。这个特殊的弹出窗口正在ng网格中的标题单元格模板中使用。我在页面上添加了一个popover到其他东西,它工作正常,所以它似乎与在ng-grid中使用它有关。
app.directive('popOver', function ($compile) {
var filterTemplate = "<div><input type=\"text\" ng-model=\"filterDetails.value\"></input><button style=\"margin-left:5px;\" ng-click=\"filterColumn()\">Filter</button></div>";
var getTemplate = function () {
var template = filterTemplate;
return template;
}
return {
restrict: "A",
link: function (scope, element, attrs) {
scope.filterDetails =
{
value: "Test"
};
scope.filterColumn = function () {
alert(scope.filterDetails.value);
};
var popOverContent;
var html = getTemplate();
popOverContent = $compile(html)(scope);
var options = {
content: popOverContent,
placement: "bottom",
html: true,
title: scope.title,
container: "body"
};
$(element).popover(options);
},
scope: false
};
});
答案 0 :(得分:1)
您使用的角度是什么版本?您可能需要升级角度版本。我把一个快速的jsfiddle与你的指令组合在一起,它似乎对我使用角度1.3.15和1.2.28
//angular 1.3.15
//angular 1.2.28