我有一個通過Angular動態填充的頁面。實質上,Angular向後端發出$http.get
請求以獲取數據並填充控制器的屬性。Angular和JQuery之間的執行時間
例如,我打電話$http.get('/_car_data')
和返回的JSON被保存到我的控制器Dealership
作爲Dealership.cars
。
通過Angular,我輸出所有的Dealership.cars
作爲輸入框在我的html頁面。
我的問題是,我想爲每個輸入添加一個jquery'autocomplete'。如果我在頁面和角度已完全呈現後通過Google Developer控制檯執行此操作,則此功能非常好。但是,如果我在將腳本鏈接到html之後並在html正文之後包含此功能,則它不起作用。如果我用$(document).ready
包圍此自動完成功能,它也不起作用。
這是在谷歌開發者控制檯中運行時完美運行的函數,但不包括在外部鏈接的js和html主體之後。
$(document).ready(function() {
var availableTags = [];
$.ajax({
url: '_available_cars',
data: {},
method: 'GET',
dataType: 'json',
success: function(data) {
availableCars = data['cars'];
$(".carchoice").autocomplete({
source: availableCars
});
},
error: function(jqXHR, textStatus, errorThrown, data) {
console.log(textStatus, errorThrown);
}
});
});
所以我的問題是,我怎麼等到所有的HTML和角度創建的,動態加載的內容呈現完畢後執行我的jquery語句?
你必須以angularjs的方式做到這一點。也就是說,有指令。 –
問題和思考是錯誤的。你需要在指令中調用插件。然後你放心元素存在 – charlietfl