2

在 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>
4

2 回答 2

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);
            });
        };

    };

}());
于 2016-03-11T14:59:03.493 回答
1

此响应与您最初的问题相去甚远,但我在寻找其他对话提供者时偶然发现了它。

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

于 2017-07-28T03:49:30.277 回答