Md-dialog弹出框(angular-material)作为一个新视图(约曼)加载进来

Md-dialog popup box (angular-material) loads in as a new view (Yeoman)

本文关键字:新视图 一个 约曼 加载 angular-material Md-dialog      更新时间:2023-09-26

所以我用Yeoman (angular-fullstack, angular-material)创建了一个项目,当我点击一个div然后md对话框应该显示。现在发生的事情是,我的页面被加载两次,没有弹出可见,虽然你看到覆盖(http://gyazo.com/c5e05ca2045c3ed9c32bb38d7bf67fc9)。我猜它将我的dialog1.tmpl.html视为一个全新的视图。那么我该如何解决这个问题呢?

用于触发弹出窗口的部分代码:

$scope.showPopUp = function(ev) {
            $mdDialog.show({
                controller: DialogController,
                templateUrl: 'dialog1.tmpl.html',
                parent: angular.element(document.body),
                targetEvent: ev,
            })
            function DialogController($scope, $mdDialog) {
                if (editId) {
                    $http.get('/api/task/' + editId).success(function(data) {
                            console.log("data variabele uit de dialogController", data);
                            $scope.task_name = data.name;
                            $scope.task_project_id = data.project_id;
                            globalTask_Project = data.project_id;
                            $scope.task_location = data.location_id;
                            globalTask_location = data.location_id;
                            $scope.task_estimate_time = data.estimate_time;
                            $scope.task_project_client_name = data.project_client_name;
                            $scope.task_url = data.url;
                            $scope.task_resource_link = data.resource_link;
                            $scope.task_notes = data.task_notes;
                            $scope.closeDialog = function() {
                                var mainApp = angular.element(document.body).controller();
                                $mdDialog.hide();
                                editId = null;
                                globalTask_location = null;
                                globalTask_Project = null;
                            }
                        })
                        .error(function(data, status, headers, config) {
                            console.log("Error in retrieving data from server");
                        });
                } else {
                    $scope.closeDialog = function() {
                        var mainApp = angular.element(document.body).controller();
                        $mdDialog.hide();
                    }
                }
            }
        }

这个问题的解决方案是,我必须看到我的templateUrl的路由正确,所以不是templateUrl: 'dialog1.tmpl.html'它必须是templateUrl: 'app/calendar/month/dialog1.tmpl.html'