我有一個jQuery UI對話框,在這個彈出框中我有一個動態的<select>
帶有角度和Ajax請求。如果我點擊一個按鈕,我的對話框就會出現,但即使對話框不可見,也會播放AngularJS腳本。在javascript代碼中加載AngularJS控制器
我停在我的腳本的條件:if($("#MyDialog).dialog("isOpen") ===true)"
和它的作品,但我不知道如何「刷新」我的角器加載選擇輸入顯示我的對話框時...
我試過這個:MyController(angular.element($('div[ng-controller="MyController"]')).scope(), angular.element($('div[ng-controller="MyController"]')).http);
但它不工作...任何想法?
我控制器代碼:
function MyController($scope, $http) {
if ($("#myDialog").dialog("isOpen") === true) {
$http.
success(function (data, status, headers, config) {
$scope.select = data;
}).
error(function (data, status, headers, config) {
alert("error !");
});
}
}
這是在angular.js反模式 - >'$( 「#myDialog」)',這個代碼也許應該活得指令內。請提供一個plunker –
如果您沒有嘗試強制實施他們的實踐,那麼使用AngularJS沒有意義。您不應該訪問控制器中的DOM元素。 – plalx