以AngularJs模式提交表单

以AngularJs模式提交表单,angularjs,angular-ui-bootstrap,Angularjs,Angular Ui Bootstrap,我正在尝试提交一个简单的表单,并以AngularJs编写的模式(弹出窗口)进行输入: myApp.run(function($rootScope, $modal) { $rootScope.$on('$stateChangeStart', function(event, toState) { if (toState.name == 'statePopup') { $modal.open({ templateUr

我正在尝试提交一个简单的表单,并以AngularJs编写的模式(弹出窗口)进行输入:

myApp.run(function($rootScope, $modal) {

    $rootScope.$on('$stateChangeStart', function(event, toState) {

        if (toState.name == 'statePopup') {

            $modal.open({
                templateUrl : 'popup.html',
                controller : 'AllegatiController',
                backdrop: 'static'
            });

            event.preventDefault();

        } else {

            return;
        }
    })
})
html格式为:

<form>
    <div class="form-group">
        <label>File Name:</label> 
        <input type="text"  ng-model="name"></input>
    </div>
    <button ng-click="save()" class="btn btn-primary">Save</button>

</form>
也许在为所有应用程序定义的模型运行中,似乎遗漏了$scope参数

我的代码中遗漏了什么?

如果您有:

$modal.open({
    templateUrl : 'popup.html',
    controller : 'AllegatiController',
    backdrop: 'static'
});
您的控制器应为:

myApp.controller('AllegatiController', ['$scope', function ($scope) {
    console.log('all myController');

    $scope.save = function () {
       var name = $scope.name;
       console.log('name is '+name);
    }
}]);

通过从0.12.0更新my ui bootsrap版本解决了此问题

这是一个帮助我的链接:


您的控制器在哪里?
save()
方法在哪里?我用管制员更新了我的问题检查此演示:好,但我想在应用程序的run函数中定义我的模式,以确保模式将从应用程序中的任何位置打开。我认为它在模式中遗漏了scope属性,但我不知道如何添加它是的,它是这样的,但有不同的定义,应用程序可以识别控制器,当我在模式中提交表单时,值不会传递给控制器
myApp.controller('AllegatiController', ['$scope', function ($scope) {
    console.log('all myController');

    $scope.save = function () {
       var name = $scope.name;
       console.log('name is '+name);
    }
}]);