Angular会自动将表单元素放在作用域上:$scope[formName]
,例如。
在上已经在范围内建立了此表单之前,我的控制器正在运行($scope[formName]
未定义)。
表单不会立即出现,但是一旦单击该按钮,它就会出现: http://plnkr.co/edit/q3RJLfWWcZhm9Y6oQjy3?p=preview
是否有要监听的事件,或某种方式等待表单加载?
会
$scope.$watch(formName, ...)
工作?
答案 0 :(得分:3)
您可以使用$timeout
来执行摘要周期,然后在示波器上获得对表单的引用:
$timeout(function(){
$scope.doIt();
}, 0);
但请注意,您需要将$timeout
注入您的控制器:
controller('ctrl1', function($scope, $timeout){
更新这是一个有效的plnkr
答案 1 :(得分:2)
是的,似乎是$ scope。$ watch会起作用:
http://plnkr.co/edit/E9170S4k2GIGz6AKAd8n?p=preview
不确定这是否是" Angular Way"。还有其他建议吗?