我有一些遗留的 jQuery 代码。这是一大块代码,所以我宁愿稍后再移植它。要使用它,我调用$('#legacyId').legacyFunction()
.
不过,这是交易。
我有一个 ng-if。在那个 ng-if 中,我有 JavaScript 调用我的遗留函数。
<div ng-if="status=='yes'">
<div id="legacyId">
I am a legacy div!
</div>
<script type="text/javascript">
$('#legacyId').legacyFunction()
</script>
</div>
页面加载时似乎正在调用此 JavaScript。虽然我在 jQuery 之后加载了 angular,但似乎 angular 删除了 ng-if 控制下的部分,因此 jQuery 函数#legacyId
失败。
有任何想法吗?谢谢!
编辑说明:我在 HTML 文档的顶部导入 jQuery 和扩展 jQuery 的遗留代码。Angular 加载在文档的底部。
编辑注2:我也试过<div ng-init="$('#legacyId').legacyFunction()"></div>
,但我得到一个错误,Error: [$rootScope:inprog] $apply already in progress.