Javascript 函数调用[Angular JS]的ng init和onload之间的差异
我正在开发一个angular应用程序,在这个场景中,我希望在页面加载时关注一个文本字段。我已经尝试过HTML5自动对焦,但必须找到一个替代解决方案,因为同样存在浏览器兼容性问题 我计划在页面加载时调用一个函数,该函数将关注我想要的输入字段。我使用Angularng init和onload来加载函数 我不确定在角度方面我应该遵循哪种方法,因为我对它们之间的差异有点困惑 onloadJavascript 函数调用[Angular JS]的ng init和onload之间的差异,javascript,angularjs,html,onload,angularjs-ng-init,Javascript,Angularjs,Html,Onload,Angularjs Ng Init,我正在开发一个angular应用程序,在这个场景中,我希望在页面加载时关注一个文本字段。我已经尝试过HTML5自动对焦,但必须找到一个替代解决方案,因为同样存在浏览器兼容性问题 我计划在页面加载时调用一个函数,该函数将关注我想要的输入字段。我使用Angularng init和onload来加载函数 我不确定在角度方面我应该遵循哪种方法,因为我对它们之间的差异有点困惑 onload <body onload="focusOnInput()"> <form n
<body onload="focusOnInput()">
<form name="resetPasswordForm">
<input name="NewPassword" type="password"/>
</form>
</body>
<script>
function focusOnInput() {
document.forms["resetPasswordForm"]["NewPassword"].focus();
}
</script>
函数focusOnInput(){
document.forms[“resetPasswordForm”][“NewPassword”].focus();
}
角度ng初始值
<body in-init="focusOnInput()">
<form name="resetPasswordForm">
<input name="NewPassword" type="password"/>
</form>
<script>
function focusOnInput() {
document.forms["resetPasswordForm"]["NewPassword"].focus();
}
</script>
</body>
函数focusOnInput(){
document.forms[“resetPasswordForm”][“NewPassword”].focus();
}
onload不在您的上下文中。onload函数是DOM加载事件的回调函数
您的ng init处于角度上下文中。您需要使用angular ng init
代码中显示的ng init函数无法正常工作。ng int中定义的函数应在角度上下文中。您的focusOnInput()不在角度上下文中。它位于javascript上下文中
如果您想使用nginit,您需要将$window注入控制器,然后将assignfocusoninput分配给$scope,并在nginit中使用该方法
像这样的
angular.module().controller('TestController',['$scope','$window',function($scope,$window){
......
$scope.myNewFunction = $window.focusOnInput;
......
}])
然后在您的ng init中使用此myNewFunction。init和load on page生命周期之间的区别可能是什么?这就是答案