document.ready 如何与 angular 元素指令一起使用?
How does document.ready work with angular element directives?
在我当前的项目中,我使用 angular 指令来创建自定义 html 元素。请参见下面的示例。
banner.js
app.directive('banner', function () {
return {
restrict: 'E',
replace: true,
templateUrl: './common/banner/banner.html'
};
});
Banner.html
<div>
<div class="banner-image"></div>
</div>
问题: 有一个 javascript 文件向 document.ready 之后带有横幅图像 class 的元素添加额外的属性。这在使用 angular 元素指令之前非常有效,但不再添加属性。
问题: document.ready 回调是否发生在 angular 元素指令在 dom 中呈现之前?如果是这样,那就可以解释为什么我的 javascript 文件不再对 html 元素进行必要的更改。
谢谢
这不是一个 "directives" 问题,而是一个 Angular 事件序列问题。
Angular 本身(如果不是用 .bootstrap
手动启动)将延迟加载到 .onready
.
在那个时间点,Angular 期望 运行 需要的所有 JS 都在那里并注册。
然后 Angular 启动。
然后在 Angular 启动后,Angular 解析 DOM 以找到要附加到的根元素(带有 ng-app
指令的元素)。
然后它递归地沿线进行,注入控制器并构建指令并插入节点。
现在我们 方式 超过了 DOMReady 时触发的任何代码。
在我当前的项目中,我使用 angular 指令来创建自定义 html 元素。请参见下面的示例。
banner.js
app.directive('banner', function () {
return {
restrict: 'E',
replace: true,
templateUrl: './common/banner/banner.html'
};
});
Banner.html
<div>
<div class="banner-image"></div>
</div>
问题: 有一个 javascript 文件向 document.ready 之后带有横幅图像 class 的元素添加额外的属性。这在使用 angular 元素指令之前非常有效,但不再添加属性。
问题: document.ready 回调是否发生在 angular 元素指令在 dom 中呈现之前?如果是这样,那就可以解释为什么我的 javascript 文件不再对 html 元素进行必要的更改。
谢谢
这不是一个 "directives" 问题,而是一个 Angular 事件序列问题。
Angular 本身(如果不是用 .bootstrap
手动启动)将延迟加载到 .onready
.
在那个时间点,Angular 期望 运行 需要的所有 JS 都在那里并注册。
然后 Angular 启动。
然后在 Angular 启动后,Angular 解析 DOM 以找到要附加到的根元素(带有 ng-app
指令的元素)。
然后它递归地沿线进行,注入控制器并构建指令并插入节点。
现在我们 方式 超过了 DOMReady 时触发的任何代码。