我要运行以下简单的JavaScript,引用角度视图中的元素:
var buttons = document.querySelectorAll('.msg-type i');
console.log(buttons.length);
它在控制台0上打印,这是错误的(页面上有3个元素)。
问题是,我的脚本包含在索引页面中,而不是在视图本身中,我不想将脚本分段以避免过多的HTTP请求,从而减少加载时间。
如何在加载视图时运行脚本?
答案 0 :(得分:0)
如果它不是文档中的最后一件事,则执行此代码
window.addEventListener("DOMContentLoaded", function() {
var buttons = document.querySelectorAll('.msg-type i');
console.log(buttons.length);
});
答案 1 :(得分:0)
解决方案是简单地创建一个函数,然后在视图控制器中调用此函数:
的script.js:
var init = function() {
var buttons = document.querySelectorAll('.msg-type i');
console.log(buttons.length);
}
controller.js:
myApp.controller('ctrlName', function($scope) {
init();
});