AngularJS在另一个内部使用全局范围函数

时间:2014-05-16 13:36:24

标签: javascript angularjs function

我有以下名为editlocation的AngularJS函数,它打开一个模态窗口,我可以编辑三个数据。

在结果之后,我希望能够运行plotmarkers,这将在ng-click的另一个实例中使用。我尝试了以下但它不起作用。我也尝试将它放在ModalInstanceCtrl2控制器内,但没有运气。

$scope.editlocation = function (locations) {
    var locationToEdit = locations; 
    var modalInstance = $modal.open({
        templateUrl: 'template/modal-edit-marker.html',
        controller: ModalInstanceCtrl2,
        resolve: {
            locations: function () {
                return locationToEdit;
            }
        },
        scope: $scope.$new()
    });
    modalInstance.result.then(function (selectedItem) {
    locationToEdit.title = selectedItem.title;
    locationToEdit.gps = selectedItem.gps;
    locationToEdit.desc = selectedItem.desc;
    $scope.plotmarkers;
    }, function () {
        console.log('Modal dismissed at: ' + new Date());
    });
};


$scope.plotmarkers = function() {
    //things will happen here
};

2 个答案:

答案 0 :(得分:1)

你实际上并没有在这里调用这个功能。试试这个:

$scope.plotmarkers();

答案 1 :(得分:0)

除非使用相同控制器/范围(ModalInstanceCtrl2)的情节标记,否则你称之为无法工作。一个更好的方法是发出或广播一个事件,让我们知道每个感兴趣的一方应该绘制标记你可以使用控制器范围或$ rootScope(如果你注入了它)。