无法在指令控制器上访问表单状态。

17 浏览
0 Comments

无法在指令控制器上访问表单状态。

我正在使用Angularjs v1.2.21版本,但我无法在指令中访问表单状态,在其他版本中可以正常工作(我无法更改项目中的Angularjs版本)...我在下面创建了一个plunkr:

plunkr

.directive('testReplace', function () {
return {
  restrict: 'EA',
  replace: true,
  scope:{ 
     transaction: '=',
     isvalid: '='
  },
  templateUrl: 'modal-back.html',
    controller: function($scope) {
      console.log($scope.myForm)
    }
  };
})

admin 更改状态以发布 2023年5月22日
0
0 Comments

$scope.myForm存在,我相信这是因为你需要使用link而不是controller,除非你正在等待表单中发生的某些事情(例如点击事件或其他什么)。所以尝试将它更改为:

从:

controller: function($scope){

到:

link: function($scope){

你使用link,因为链接阶段实际上是在附加数据,因此当你记录时,你将看到正确的信息。

plunkr:http://plnkr.co/edit/eCW1lrsS5GTbmoA9JAcL?p=preview

另外,如果你想了解更多关于controller与link与compile的内容,这里有一个好帖子:AngularJS:link vs compile vs controller

0
0 Comments

使用链接函数而不是控制器: http://plnkr.co/edit/EI8qVhh9pOBiEtD4koGB?p=preview


link: function(scope){
       console.log(scope.myForm)
}

0