angularjs - 使用 angular-js ionic 弹出窗口绑定(bind)数据

标签 angularjs ionic-framework

我遇到了一些奇怪的问题,我似乎无法找到解释。 我显示了一个带有单个输入的弹出窗口,我将其绑定(bind)到作用域上的变量,并将 $scope 传递给弹出窗口。 绑定(bind)有效,我可以看到设置的变量,并且它在我键入时发生变化。但是,一旦我关闭弹出窗口并在“点击”功能上注销该范围变量,它似乎就会回到其原始值。

编辑:一支证明一般问题的笔: http://codepen.io/anon/pen/ariDh

代码:

var sendPopup = $ionicPopup.show({
     title: $translate.instant(popupTitle),
     subTitle: $translate.instant('POPUP_WITH_MESSAGE_SUBTITLE'),
     templateUrl:  'templates/leave-message-popup.html',
     scope: $scope,
     buttons: [
      { text: $translate.instant('BUTTON_CANCEL') },
      {
        text: $translate.instant('BUTTON_SEND'),
        type: 'button-positive',
        onTap: function(e) {
                console.log("contact message:" + $scope.contactMessage);
                if (!$scope.contactMessage) {
                  console.log("preventing default");
                  e.preventDefault();
                } else {
                  $scope.sendData(contactType);
                }
              }
      },
    ]


   });

模板:

<input type="text" ng-model="contactMessage" name="message" placeholder="{{'PLACEHOLDER_CONTACT_MESSAGE' | translate}}" required autofocus>
{{contactMessage}}

最佳答案

您的 codepen 的修改版本显示了此功能:http://codepen.io/anon/pen/rgBLa

将变量更改为正确传递到弹出窗口的范围内的对象,可以在更改时将其绑定(bind)回 Controller 范围。由于传递给 $ionicPopup 时范围的管理方式,这是必需的。

$scope.contactMessage = { text: "text" }

然后更新标记以正确查看范围上的此属性。

<input type="text" ng-model="contactMessage.text" name="message">
  {{contactMessage.text}}

希望这对您的问题有所帮助。

关于angularjs - 使用 angular-js ionic 弹出窗口绑定(bind)数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25323144/

相关文章:

javascript - 如何在 fullcalendar 的 updateEvent 中传递 startDate 和 event ?

angularjs - 使用 angular-nvd3 出现错误 "data.map is not a function"

javascript - Ionic ng-class 函数在应用程序中的所有 ng-click 上触发如何解决此问题

javascript - 不能在 firebase(ionic) 中使用变量作为 angularfire2 列表名称

angular - 在 IONIC Ion-Select 上是 'selecting' all options on choice

javascript - 正则表达式只允许在开头有一个 + 号,然后是数字

html - Angular 指令不适用于输入类型 ="number"

javascript - 错误您应该使用 AngularJS 服务 $log 的 "log"方法而不是控制台对象

javascript - 访问 firebase 数据库中的数据

javascript - 解决 "Document must be a JSON object"