如何在$ ionicPopup中进行验证?

gsa*_*nta 7 angularjs ionic-framework

我正在尝试使用$ ionicPopup来处理我的应用程序上的登录/注册.我正在从服务中打开它,所以我创建了一个新的范围并将其附加到ionicPopup.它看起来像这样:

$ionicPopup.show
  template: '''
    <form name="loginForm" novalidate>
      ...
    </form>
  ''',
  scope: $scope,
  buttons: [
    { 
      text: 'Cancel',
    },
    {
      text: '<b>Save</b>',
      type: 'button-positive',
      onTap: ( e ) ->

        form = $scope.loginForm #why is it undefined?
    } 
  ]
Run Code Online (Sandbox Code Playgroud)

所以我将表单命名为loginForm,我想在onTap函数内访问它以处理验证.但是$ scope上不存在loginForm,就像在控制器内部的正常形式验证一样.所以你知道我应该如何处理这里的验证吗?

谢谢!

gsa*_*nta 8

我想出了一个我正在使用的丑陋但有效的解决方案.如果为ionicpopup提供templateUrl而不是硬编码模板字符串,则可以在模板内使用常规控制器进行验证.

现在我删除了所有与ionicpopup相关的按钮(我发现它们真的很尴尬),并在模板中提供必要的按钮.

通过这种方式,我可以从控制器控制ionicpopup的状态(例如关闭弹出窗口)

明天我创建了一个jsFiddle示例,以防任何人感兴趣.

但如果你有更好的解决方案,请分享:D

  • 你可以分享你提到过的jsFiddle例子吗? (3认同)
  • 2年的人还在等你的jsfiddle :) (2认同)