我有一群人,每个人都应该有电话和姓名, 所以我做了:
<div ng-repeat="a in arr">
<ng-form>
phone{{a}}:<input type="phone" name="phone" />
text{{a}}:<input type="text" name="name" />
</ng-form>
</div>
当完成为第一个人输入电话和姓名时,我想调用“doSomething”功能。
最好的方法是什么?我宁愿不使用手表。
例如,这是一个plunker。
答案 0 :(得分:1)
我建议您在案件中使用ng-blur
。使用ng-keyup
将触发每个键释放事件的功能,这根本不是好事。您应该查看以下示例示例如何工作
phone{{a}}:<input type="phone" data-ng-blur="doSomething();" name="phone" />
我已更新您的fiddle以查看更多内容。
修改强>
如果您只想执行第一次迭代,那么您应该将index
传递给您的函数并检查它是否等于0
。然后它必须是第一次迭代。像
ng-blur="doSomething($index)"
在你的功能中
$scope.doSomething = function(index){
if(index === 0)
alert("finish");
};
答案 1 :(得分:0)
实现这一目标的方法之一是
<input type="phone" name="phone" ng-model="input.phone" ng-change="onchange()"/>
<input type="text" name="name" ng-model="input.name" ng-change="onchange()"//>
然后是你的范围
scope.input = {};
scope.onchange = function(){
if(!input.phone) return;
if(!input.name) return;
//other logic
}
顺便说一下,最佳实践说你的ng模型总是有一个点
答案 2 :(得分:0)
可能你正在寻找以下内容。
<强> HTML 强>
$scope.doSomething= function () {
// do something
};
<强>控制器:强>
ng-blur
注意:您也可以使用tomcat_host=192.10.10.100
tomcat_port=8080
tomcat_username=admin
tomcat_password=12345
context_path=myApplication
curl -v -u ${tomcat_username}:${tomcat_password} -T ${artifact} 'http://'${tomcat_host}':'${tomcat_port}'/manager/text/deploy?path=//'${context_path}''
,只有在您从输入字段离开焦点后才会触发。{/ p>