簡體   English   中英

AngularJS-控制器在加載控制器之前執行

[英]AngularJS - controller executes before controller has been loaded

Angular自動將表單元素放在范圍內:例如, $scope[formName]

在范圍上建立此表單之前,我的控制器似乎正在運行( $scope[formName]未定義)。

窗體不立即出現,但是一旦您單擊該按鈕,它就會出現: http : //plnkr.co/edit/q3RJLfWWcZhm9Y6oQjy3?p=preview

是否有事件要監聽,或者有某種方式等待表單加載完畢?

$scope.$watch(formName, ...)

工作?

您可以使用$timeout允許摘要循環執行,然后在范圍上獲取對表單的引用:

$timeout(function(){
  $scope.doIt();
}, 0);

但是請注意,您需要將$timeout注入到控制器中:

controller('ctrl1', function($scope, $timeout){

更新這里是一個有效的plnkr

是的,似乎$ scope。$ watch可以工作:

http://plnkr.co/edit/E9170S4k2GIGz6AKAd8n?p=preview

不確定這是否是“ Angular Way”。 還有其他建議嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM