6

我对 Angular 很陌生,但很喜欢它!我正在尝试创建一个模式对话框来显示部分视图。ui.bootstap.modal 有一个选项,它将 URL 带到要显示的局部视图。我在我的应用程序模块上配置了一个路由,如下所示:

angular.module('buggy').config(['$routeProvider',
    function($routeProvider) {
        $routeProvider.
        when('/lists', {
            templateUrl: 'views/lists/list.html'
        }).
        when('/lists/create', {
            templateUrl: 'views/lists/create.html'
        }).
        when('/lists/:listId', {
            templateUrl: 'views/lists/partials/view.html'
        }). //more stuff

我想展示when(/lists/:listId)从上述路线定义的部分模板。所以在我的控制器中,我试图打开模态对话框,如下所示:

 $scope.showList = function (list) {
            $modal.open({
            templateUrl:'lists/' + list._id,
            scope:$scope
        });
    }

模式对话框打开,但内容只是[object]. 我需要在服务器端定义路由还是可以使用 Angular 路由返回部分路由?

谢谢!

4

1 回答 1

5

我对 $routeProvider 的理解是有缺陷的。我责怪多年的 jQuery'n ;) 我现在已经开始工作了。我相信 $routeProvider 正在返回我的模块配置中定义的控制器实例;不是实际的模板。我已经像这样更改了我的代码:

 $scope.showList = function (list) {
        $scope.currentList = list;
        $modal.open({
            templateUrl: 'views/lists/modals/view.html',
            backdrop: false,
            scope: $scope,
            controller: 'modalCtrl'
        });
    }

如果这不是一个好的解决方案..请发表评论。我还有很多关于 Angular 的知识要学习。

谢谢!

于 2013-12-30T21:36:12.137 回答