2012-10-24 114 views
1

我有動態標籤生成(jquery-ui)與AngularJS的問題。問題與jQueryUI標籤+ AngularJS

我已經創建了一個指令,用於在div標籤上調用標籤(jQuery-UI)初始化,該標籤具有用ng-repeat生成的ul> li>元素。

我認爲問題是在初始化標籤的某處不與模型綁定syncronized,我得到一個奇怪的行爲選項卡上。我認爲可能會發生這種情況,因爲模型之前的標籤庫的初始化「改變了」,因爲我正在用ajax加載模型,而且我不知道如何處理標籤小部件的「重新初始化」。

我的指令看起來像這樣:

myApp.directive('juiTabs', function() { 
    return function postLink(scope, iElement, iAttrs) { 
     jQuery(function() { 
      $(iElement).tabs(); 
     }); 

    } 
}); 

我的控制器

function MyCtrl($scope, $locale, $routeParams, $http) { 

    $scope.DataSource = null; 

    $http({ 
     url: "/api/product/1", 
     method: "GET", 
     data: { "foo": "bar" } 
    }).success(function (data, status, headers, config) { 

     if (data.isSucess) { 
      $scope.DataSource = data.Data; 
     } 
     else { 
      NotifyError("..."); 
     } 
    ... 

有誰有一些想法如何可以強制標籤的重新初始化我的模型更改後?

+3

我甚至不會使用JQuery UI選項卡。你可以用Angular創建你自己的,用JQuery UI的css風格。 –

+0

我懷疑他們不能一起工作,因爲jquery-ui標籤和Angularjs通過攔截哈希標籤 –

回答

1

嘗試在你的指令,這樣的「看」你的模型:

myApp.directive('juiTabs', function() { 
    return function postLink(scope, iElement, iAttrs) { 
     scope.$watch(iAttrs.ngModel, function (newValue) { 
      jQuery(function() { 
       $(iElement).tabs(); 
      }); 
     } 
    } 
});