AngularJS& ui.bootstrap.modal service templateUrl - 我可以使用Angular路由吗?

时间:2013-12-30 20:01:26

标签: angularjs angular-ui-bootstrap angular-routing

我对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路由返回部分?

谢谢!

1 个答案:

答案 0 :(得分:4)

我对$ 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的知识。

谢谢!