我正在使用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)
}
};
})
答案 0 :(得分:3)
使用链接功能代替控制器:http://plnkr.co/edit/EI8qVhh9pOBiEtD4koGB?p=preview
link: function(scope){
console.log(scope.myForm)
}
答案 1 :(得分:1)
$ scope.myForm在那里,我相信这是因为你需要使用链接而不是控制器,除非你正在等待表格中发生的事情(如点击事件或其他事情)。所以尝试将其改为此
来自:
controller: function($scope){
为:
link: function($scope){
您使用链接是因为链接阶段是您实际附加数据的时间,因此在您登录时您将看到正确的信息
plunkr:http://plnkr.co/edit/eCW1lrsS5GTbmoA9JAcL?p=preview
此外,如果你想准备更多和控制器vs链接与编译,这里有一个很好的线程:AngularJS : link vs compile vs controller