如何使用带有节点/快速路由的angular-ui模态templateURL

时间:2015-11-20 19:18:13

标签: javascript angularjs node.js angular-ui-bootstrap angular-ui-modal

我有点困惑为什么我得到这个错误。我有一个预感,它与templateURL有关,我尝试过一些东西,但无济于事。我已经阅读了文档,并搜索了一堆SO帖子,但没有一个帮助太多。我想使用Express / Node来提供页面,我感觉这就是为什么我的templateURL无法在app.js中运行。

这是我的index.html和我的控制器以及我的模板。

<body ng-app="app" ng-controller="AppCtrl">
<script type="text/ng-template" id="pageContent.html">
    <div class="container">
        <div class="modal-header">
            <h3 class="modal-title">I am a modal!</h3>
        </div>
        <div class="modal-body">
            <h1>HELLO</h1>
        </div>
        <div class="modal-footer">
            <button class="btn btn-primary" type="button" ng-click="cancel()">OK</button>
            <button class="btn btn-warning" type="button" ng-click="cancel()">Cancel</button>
        </div>
    </div>
</script>
<div ng-click="open()"> <!-- this is what makes the modal -->
<!-- rest of html below -->

这就是app.js中的内容

var app = angular.module("app", ["ngAnimate", 'ui.bootstrap']);

app.controller("AppCtrl", function($scope, $timeout, $uibModal, $http) {

    $scope.open = function (person) {
        $scope.selectedPerson = "passed in person";
        console.log($scope.selectedPerson);


        var modalInstance = $uibModal.open({
            templateUrl: 'pageContent.html',
            controller: 'ModalInstanceCtrl',
            resolve: {
                selectedPerson: function() {
                    return $scope.selectedPerson;
                }
            }
        });

    };
});

app.controller('ModalInstanceCtrl', function ($scope, $uibModalInstance, selectedPerson) {

    $scope.selectedPerson = selectedPerson;


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

我还尝试用template: "<p> hello world </p>"替换templateURL,但也会产生相同的错误。

以下是错误跟踪: enter image description here

1 个答案:

答案 0 :(得分:3)

使用angular.js代替angular.min.js来获取更清晰的错误消息。

要解决此特定问题,您需要使用ui-bootstrap-tpls.min.js(或ui-bootstrap-tpls.js)代替ui-bootstrap.min.jsui-bootstrap.js)。

在那之后,你可能还有其他一些问题,但也许这是一个不同的SO问题? : - )