我的ng-model綁定到filterDetails.value似乎存在問題。它將顯示「測試」值,但是當我將值更新爲「Test1234」並單擊該按鈕以執行filterColumn()時,警報將顯示「測試」而不是更新後的值。如果我再次將該值更新爲「Test12345」並單擊過濾器按鈕,則顯示「Test1234」。它始終是一個更新。我正在使用角度版本1.2.24。這種特殊的彈出式廣告正在ng網格的標題單元格模板中使用。我添加了一個popover到頁面上的其他東西,並且它工作正常,所以它似乎與在ng網格中使用它有關。ng-model不在指令中更新
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
};
});
合作確定你對我的代碼似乎很好..你可以創建一個小提琴/ plunker? – eladcon