获取多个Angular模态以使用http响应数据

伊冯娜·阿布罗(Yvonne Aburrow)

我正在构建一个使用Moodle进行身份验证并从Moodle Web服务获取Json数据的应用程序,并使用AngularJs在应用程序中显示数据。Moodle Web服务上有多个功能,因此我在Angular应用程序中需要多个控制器

我正在使用Visual Studio和Cordova编写应用程序。

在同事和StackOverflow的大量帮助下,我现在在单页移动应用程序中可以使用多个Angular模态。(还有一个关于多个模式的StackOverflow问题,但是它并没有告诉您如何使用http响应数据。为此,您需要使用Angular引导程序。

(这是“问自己的问题并自己回答”的帖子之一-但欢迎提出进一步的建议。)

伊冯娜·阿布罗(Yvonne Aburrow)

步骤1.将所需的脚本标记放入HTML中

<script src="scripts/angular.min.js"></script>
<script src="scripts/ui-bootstrap.js"></script>
<script src="scripts/ui-bootstrap-tpls.min.js"></script> 

angular.min.js是主要的Angular库;ui-bootstrap.js是Angular UI引导程序库;ui-bootstrap-tpls.min.js是使模版模板正确显示的Angular模板脚本。

第2步。将模式模板放在ng-app div中的HTML中

    <div role="main" id="main" class="ui-content scroll" ng-app="myApp">
    <!--MODAL WINDOW for item details -->
        <script type="text/ng-template" id="itemModalContent.html">
             <div class="modal-dialog">
                  <div class="modal-content">
                        <div class="modal-header">
                             <button type="button" class="cancel right button" data-dismiss="modal" aria-hidden="true" ng-click="cancel()">
                                  <i class="fa fa-close"></i>
                             </button>
                             <span class="item-name">{{item.name}}</span>
                         </div>
                         <div class="modal-body">
                              <p>{{item.description}}</p>
                         </div>
                         <div class="modal-footer">
                              <button type="button" class="button cancel btn-default" data-dismiss="modal" ng-click="cancel()">Cancel</button>
                              <button type="button" class="button ok btn-primary" ng-click="ok()">Sign me up</button>
                         </div>
                  </div>
           </div>
     </script>
</div>

步骤3.在myApp.js中,添加模式实例控制器

myApp.controller('myItemsModalInstanceCtrl', function ($scope, $uibModalInstance, item) {
    $scope.item = item;
    $scope.cancel = function () {
        $uibModalInstance.close();
        $('.overlay').hide();
    };
});

步骤4.从项目控制器调用模式实例控制器

myApp.controller('myItemsCtrl', function ($scope, $http, $uibModal) {
    url = concatUrl + 'local_servicename_ws_function_name';

    $http.get(url).then(function (response) {
        $scope.items = response.data;
        $scope.open = function (item) {
            $('.overlay').show();
            var modalInstance = $uibModal.open({
                controller: "myItemsModalInstanceCtrl",
                templateUrl: 'myItemModalContent.html',
                resolve: {
                    item: function () {
                        return item;
                    }
                }
            });
        };
    })
});

第5步。添加一个按钮来触发模态

这进入ng-repeat块内

<a data-toggle="modal" ng-click="open(item)">{{item.name}}</a> 

补充笔记

把模态模板脚本里面ng-app股利,但外面ng-repeat块。

这适用于一个ng-repeat内的多个模态调用ng-repeat以及页面中的多个块和模态模板。您需要确保ng-repeat重复执行item in items,并确保模态模板引用item

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Angular 获取 http 响应

我无法使用 Angular2 从 JSONP 的响应中获取正文数据,但它可以使用 ajax

Angular 2 - 多个 HTTP 获取请求和缓存响应

无法在Unity中使用UnityWebRequest从HTTP响应获取数据

使用 Angular Http Get 从 json 获取数据

在Angular中使用HTTP获取数据

使用 $http 以 angular 获取表数据

使用Angular HttpClient时如何获取错误响应的HTTP状态?

如何使用响应数据在angular js中获取枚举值

使用ResponseEntity获取Http响应

Angular 8-使用emitevent从弹出模态获取数据到父组件

Angular-从多个请求中获取响应

如何使用 $.each 将 jquery 响应数据放入模态

http.post-获取响应数据

获取HTTP请求和响应的数据大小

无法从Angular中的Http获取响应

Angular HTTP请求获取响应主体

Angular 2 Http获取响应示例

Angular/Typescript - 使用地图从 http 响应中获取数组或获取特定元素

获取包含以使用多个单词的内容

覆盖Angular $ http帖子以使用其他数据扩展每个帖子数据

如何在Haskell中获取函数以使用数据类型返回多个类型?

Chaco-获取多个数据系列以使用相同的轴和贴图

使用Angular 2 Http从REST Web服务中获取数据

使用angular-1.3获取angular-bootstrap模态

使用babel时,无法通过多个同时的jQuery请求获取AJAX响应数据

如何使用 python 从soap响应中的多个命名空间获取数据:xml.etree.ElementTree

是否可以使用google cloud run来实现TTS接收http请求和发送语音数据响应的功能?

如何使用 HTTP 响应的链接头从 github API 获取下一批数据?