这是我的解决方案:在所有 XHR 数据准备好之后,我们需要使用 jQuery 发出“点击”事件,在此之前我们可以通过 html 数据属性传输新数据,稍后我们可以从 Angular 中读取它。
html文件
<div class="js-synced-tabs" ng-click="syncWithjQuery()" data-tab-id="1" style="width: 0; height: 0;"></div>
<div class="container" id="draggable-status-list">
<!-- appends from jQuery -->
</div>
jQuery 文件
httpRequest('GET', 'API/point' , function (data) ....
$.each(data, function (i, v) {
html += '<a onclick="'+"jQuery('.js-synced-tabs').data('tab-id',"+ v.id +"); jQuery('.js-synced-tabs').click();"+'">'
+ v.name
+ '</a>';
$('body').find('.container').html(html);
})
角文件
$scope.syncWithjQuery = function() {
$rootScope.issue_tab = angular.element('.js-synced-tabs').data('tab-id');
}
显示更改 data-tab-id 的示例,在单击选定的选项卡后,因为我们无法通过 ng-click 执行此操作。
onclick="'+"jQuery('.js-synced-tabs').data('tab-id',"+ v.id +"); jQuery('.js-synced-tabs').click();"+'"
- 是破解这个
要点:
https ://gist.github.com/cre-o/f138bdf1cf9e36eed3f9f73b54bb8260