0

在我controller.js文件我訪問形式的模式有:如何從控制器

angular.module('App').controller('AppCtrl', AppCtrl); 

    function AddApp(){   
     var vm = this; 
     vm.resetForm = resetForm; 

     function resetForm(){ 
     vm.myForm.$setPristine(); 
     } 
    } 

    ... 

    function openModal(message){ 

    var errorMessage = message; 
    var modalInstance = $modal.open({ 
     templateUrl: 'url', 
     controller: 'AppCtrl', 
     controllerAs: 'App', 
     resolve: { 
      errorMessage: function() { 
       return errorMessage; 
      } 
     } 
    }); 
    } 

,在我的模式我有

<div ng-controller="AppCtrl as App"> 
    <form name=App.myForm> 
    ... 

當我使用這種格式,它告訴我認爲 vm.myForm是未定義的。

這是我在這裏找到了最接近的事,但它仍然沒有工作對我來說 Can I access a form in the controller?

+1

你寫'功能AddApp()'我的問題是哪裏'AppCtrl'? –

回答

0

您可以將其添加到決心通過以下形式:

var modalInstance = $modal.open({ 
     templateUrl: 'url', 
     controller: 'AppCtrl', 
     controllerAs: 'App', 
     resolve: { 
      errorMessage: function() { 
       return errorMessage; 
      }, 
      myForm: function() { 
       return vm.myForm; 
      } 
     } 
    }); 

在你模式控制器:

angular.module('app').controller('AppCtrl', 
    ['$scope', 'errorMessage', 'myForm', 
     function ($scope, errorMessage, myForm) { 

      console.log(myForm); 
    }] 
);