ngDialog Modal for Angular中的多个窗格

时间:2015-12-03 22:51:46

标签: javascript angularjs ng-dialog

在ngDialog的示例中,它们显示了一个模式,其中包含多个“窗格”,您可以滚动浏览:http://likeastore.github.io/ngDialog/

我通读了ngDialog指南并找不到一个简单的方法来实现这一点 - 任何想法都将非常感激。我想要的只是窗格上的一个按钮,您可以单击该按钮转到模式中的下一个窗格。 (就像例子 - 但没有动画)。

谢谢!

         //Here is my Controller instantiation of the ngDialog

         $scope.clickToOpen = function(testy) {
           ngDialog.open({
             template: 'createNewTemplate',
             scope: $scope
           });
         };

这是我的HTML模板:

    <form ng-submit="login()">
      <h1>Login</h1>
        <input type="text" ng-model="loginUser.email" placeholder="Email">
        <input type="text" ng-model="loginUser.password" placeholder="Password">
        <button ng-click="goToNextPane()"> Login </button>
    </form>

2 个答案:

答案 0 :(得分:1)

你可以用不同的方式做到这一点......

这是您的HTML登录模板..

<form name="loginForm" id="login" ng-controller="loginCtrl as vm">
    <h3>Login</h3>
    <p>         Login Form goes here...
    </p>
    <button type="button" ng-disabled="loginForm.$invalid" ng-click="confirm()" class="btn btn-success pull-right">Next</button>
        <button type="button" ng-click="closeThisDialog('login')" class="btn btn-success pull-left">Cancel</button>
    <br> </form>

和..帐户HTML模板...

<form name="accountForm" id="account" ng-controller="loginCtrl as vm">
    <h3>Login</h3>
    <p>
        Account Form goes here...
    </p>
    <button type="button" ng-disabled="accountForm.$invalid" ng-click="confirm()" class="btn btn-success pull-right">Update</button>
        <button type="button" ng-click="closeThisDialog('account')" class="btn btn-success pull-left">Cancel</button>
    <br>
</form>

这是角度脚本..

(function () {
    "use strict";
    angular
        .module("dialogDemo")
        .controller("loginCtrl", ["ngDialog", loginCtrl]);

    function loginCtrl(ngDialog) {

        var vm = this;

        vm.login = function () {
            ngDialog.openConfirm({
                template: 'login.html',
                className: 'ngdialog-theme-default',
                showClose: false
            }).then(function (value) {

                //Here you could close the current dialog and open a new dialog 
                 ngDialog.close('login'); // Give your Diloag element Id
                 ngDialog.openConfirm({
                     template: 'updateAccount.html',
                     className: 'ngdialog-theme-default',
                     showClose: false
                 }).then(function (value) {
                     console.log('Modal promise resolved. Value: ', value);
                 }, function (reason) {
                    console.log('Modal promise rejected. Reason: ', reason);
                 });

                console.log('Modal promise resolved. Value: ', value);
            }, function (reason) {
                console.log('Modal promise rejected. Reason: ', reason);
            });
        };

    };

}());

答案 1 :(得分:1)

这个回答与您原来的问题相差甚远,但我偶然发现它在寻找其他对话提供商的时候。

无论如何,我的ngDialog(https://github.com/danahartweg/ngDialog)的分支支持多个窗格。在这一点上它与上游有点过时,只是没有机会让它更新。我将其折叠成ngDialog的原始PR被拒绝,因为他们觉得它不应该膨胀核心库。