无法在指令控制器上访问表单状态。
无法在指令控制器上访问表单状态。
我正在使用Angularjs v1.2.21版本,但我无法在指令中访问表单状态,在其他版本中可以正常工作(我无法更改项目中的Angularjs版本)...我在下面创建了一个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日
$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
使用链接函数而不是控制器: http://plnkr.co/edit/EI8qVhh9pOBiEtD4koGB?p=preview
link: function(scope){ console.log(scope.myForm) }