当前位置: 首页 > 面试题库 >

如何将表格数据从角度ui引导程序模态传递到视图

凌博实
2023-03-14
问题内容

我正在创建一个Webapp,我想实现一个添加好友的选项。我已将添加好友页面创建为带有文本输入字段的模式。我想通过在视图页面上显示输入来进行测试。如何在我的视图页面上显示这些数据?

这是我目前拥有的

index.html

<div ng-controller="ModalDemoCtrl">
    <script type="text/ng-template" id="myModalContent.html">
        <div class="modal-header">
            <h3 class="modal-title">I'm a modal!</h3>
        </div>

         <form name = "addFriendForm">
          <input ng-model = "user.name"class="form-control" type = "text" placeholder="Username" title=" Username" />
          {{ user.name }}
        </form>

        <div class="modal-footer">
            <button class="btn btn-primary" ng-click="ok()">OK</button>
            <button class="btn btn-warning" ng-click="cancel()">Cancel</button>
        </div>
    </script>

    <button class="btn btn-default" ng-click="open()">Add Friend</button>
    <div> Username: {{user.name}}</div>
</div>

我的JavaScript文件:

angular.module('ui.bootstrap.demo', ['ui.bootstrap']);
angular.module('ui.bootstrap.demo').controller('ModalDemoCtrl', function ($scope, $modal, $log) {

  $scope.user = {name: ""}

  $scope.open = function () {

    var modalInstance = $modal.open({
      templateUrl: 'myModalContent.html',
      controller: 'ModalInstanceCtrl',
      resolve: {
        items: function () {
          return $scope.items;
        }
      }
    });

    modalInstance.result.then(function () {
      $scope.user.name = user.name;}, function () {
      $log.info('Modal dismissed at: ' + new Date());
    });
  };
});

angular.module('ui.bootstrap.demo').controller('ModalInstanceCtrl', function ($scope, $modalInstance) {

  $scope.ok = function () {
    $modalInstance.close($scope.user.name);
  };

  $scope.cancel = function () {
    $modalInstance.dismiss('cancel');
  };
});

plunkr:http
://plnkr.co/edit/JIoiNx47KXsY8aqbTUDS?p=preview


问题答案:

解决-PLunkr

您可以利用modalInstanceresolve属性;这充当模式实例与父控制器之间的链接。

您将对象插入ModalInstanceController,并将其分配给模态实例的范围。

UI Bootstrap解决的工作原理与ngRouter完全相同;因此,如果由于某种原因resolve无法 解析 对象,则不会打开模式。

var modalInstance = $modal.open({
  templateUrl: 'myModalContent.html',
  controller: 'ModalInstanceCtrl',
  resolve: {
    user: function() {
      return $scope.user;
    }
  }
});

范围-plunkr

另一种可以说是较简单的方法是将父级范围传递给模式。请注意,当前controllerAs在父控制器上使用语法时,这不起作用。

var modalInstance = $modal.open({
  templateUrl: 'myModalContent.html',
  controller: 'ModalInstanceCtrl',
  scope: $scope
});


 类似资料:
  • 问题内容: 我想我缺少了一些东西,但无法弄清楚是什么。 基本上,我试图将对象传递给模态,如下所示,但是我没有获取传递的对象,而是获取null …所以我认为范围存在问题,但是我是Angular的新手,需要帮助。 控制者 视图 问题答案: 我建议您传递自己的控制器的,而不要再次传递它,这样做可以删除也。 否则,您需要创建一个新控制器并在打开它时分配该控制器。

  • 问题内容: 我正在尝试将一些模型数据打开时传递给模式窗口。当用户单击某个元素时,我想打开模式窗口并显示与单击的内容有关的更详细的信息。 我创建了一个插件,该插件可以将数据传递到模态窗口中,但其工作方式与我想要的一样。 我正在尝试使用ng-click传递数据: 谁能帮我这个?或指出正确的方向? 问题答案: 怎么样这个? 我添加了解决方案 而在我做的:注射后

  • 问题内容: 我有几个超链接,每个超链接都附有一个ID。当我单击此链接时,我想打开一个模式,并将此ID传递给模式。我在Google上进行了搜索,但找不到任何可以帮助我的东西。 这是代码: 哪个应该打开: 使用这段代码: 但是,当我单击超链接时,没有任何反应。当我提供超链接时,模式可以很好地打开,但是它不包含任何数据。 我遵循以下示例:如何将值参数传递给Bootstrap中的modal.show()函

  • 我有几个超链接,每个都有一个ID附加。当我单击这个链接时,我想打开一个模态(http://twitter.github.com/bootstrap/javascript.html#modals),并将这个ID传递给模态。我在谷歌上搜索,但我找不到任何可以帮助我的东西。 这是代码: 该窗口应打开: 用这段代码: 然而,当我点击超链接时,什么也没有发生。当我给出超链接时,模式打开得很好,但它不包含任何

  • 问题内容: 这是代码: 哪个应该打开: 使用这段代码: 但是,当我单击超链接时,没有任何反应。当我提供超链接时,模式可以很好地打开,但是它不包含任何数据。 问题答案: 我认为你可以使用jQuery的.on事件处理程序来完成这项工作。 这是你可以测试的小提琴;只需确保在小提琴中尽可能扩展HTML框架,以便你可以查看模式。 HTML JAVASCRIPT