首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mdDialog -确认按钮不工作

mdDialog -确认按钮不工作
EN

Stack Overflow用户
提问于 2017-01-17 14:42:56
回答 1查看 1.5K关注 0票数 0

我已经遵循了官方的角度材料的文件,但我无法使它工作。我看不出我的代码有什么问题。mdDialog甚至没有出现,而是直接进入了我的cancel函数。

我的代码

代码语言:javascript
复制
$scope.createInviteDialog = function(ev, line, index){

    var parentEl = angular.element(document.body);
    var confirm = $mdDialog.show({
        parent: parentEl,
        locals: {
            line: line,
            index: index
            },
        targetEvent: ev,
        template:
     '<md-dialog aria-label="List dialog">' +
     '  <md-dialog-content>' +
     '<md-input-container class="md-block">' +
     '<label>Write something about you!!</label>' +
     '<textarea ng-model="mensaje" md-maxlength="120" rows="4" md-select-on-focus></textarea>' +
     '</md-input-container>' +
     '<md-dialog-actions>' +
     '    <md-button ng-click="cancel()" class="md-primary">' +
     '      Cancelar' +
     '    </md-button>' +
     '<md-button ng-click="invite("pep")" class="md-primary">' +
     '      Crear postulacion!' +
     '    </md-button>' +
     '</md-dialog-actions>' +
     '</md-dialog>'})
    .then(function(invite){
        console.log('create invite');
    }, function(){
        console.log('cancel invite');
    });
};  

控制台日志

代码语言:javascript
复制
'cancel invite'
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-18 19:40:52

这是来自角度材料的例子,有一些变化,例如,您可以将html代码直接作为字符串放在.htmlContent中,它将显示在对话框中。

代码语言:javascript
复制
$mdDialog.confirm()
    .title('Title')
    .htmlContent(html)
    .ariaLabel('Lucky day')
    .ok('Confirm')
    .cancel('Continuar con el envio');
$mdDialog.show(confirm).then(function() {},function(){})

如果您绝对需要在对话框中有作用域,我建议您创建一个预先呈现的对话框。

代码语言:javascript
复制
$mdDialog.show({
                controller: CustomController,
                templateUrl: '__path/custom.html',
                targetEvent: ev,
                clickOutsideToClose: true
            })
            .then(function(answer) {}, function() {});

function CustomController($scope, $mdDialog) {

        $scope.hide = function() {
            $mdDialog.hide();
        };
    }

其中唯一的麻烦是,您需要创建一个新的html,没有body、html标记或任何东西,只需要一个您想要的对话框,但是这样您就可以从您需要的CustomController中接收到任何东西。请注意,customControllers作用域将与控制器作用域不同。对于这个google,使用的是

代码语言:javascript
复制
vm = this;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41699978

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档