2015-04-08 83 views
0

我的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 
    }; 
    }); 
+1

合作確定你對我的代碼似乎很好..你可以創建一個小提琴/ plunker? – eladcon

回答

1

你使用的是什麼版本的角?您可能需要升級您的角度版本。我把一個快速的jsfiddle與指令在裏面,它似乎採用了棱角分明1.3.15和1.2.28

//angular 1.3.15 

http://jsfiddle.net/x5o9s27a/

//angular 1.2.28 

http://jsfiddle.net/ge7bqh4n/

+0

1.2.24。我已經用更多的細節更新了這個問題 –

+0

我用ng-grid headerCellTemplate和你特定版本的角度創建了另一個jsfiddle,我仍然沒有看到你解釋的問題。你可以看看jsfiddle,看看它與你的問題有什麼不同,或者創建一個新的小提琴來重現問題? http://jsfiddle.net/TwitchBronBron/96ahLpcr/ – TwitchBronBron

+0

謝謝。看起來問題與引導模式有關,我正在顯示所有內容。雖然我不確定爲什麼還有問題。 –