我有一个父控制器,在其中设置实例化一个称为链接的对象。我为属性分配了要在另一个函数中更改的值。但是,当我在instagramModel中设置变量时,links.imagesa不会更新。

我在控制台中打印出该值,并且父范围未得到更新。我以为我遵循了原型继承的规则。

为什么$ scope.links.imagesa没有更新?

.controller('HomeCtrl', function HomeController($scope, titleService, config, $sails, $timeout, $upload, leafletData, $modal, $log) {

    $scope.links = {};
    $scope.links.imagesa = "This should change";

    $scope.instagramModal = function (size) {

        var modalInstance = $modal.open({
            templateUrl: 'instagramModal.html',
            controller: 'InstagramModalInstanceCtrl',
            size: size,
            resolve: {
                items: function () {
                    return $sails.get("/instagram/self").success(function (response) {

                        return response.data;

                    }).error(function (response) {
                        console.log('error');
                    });
                }
            }
        });

        modalInstance.result.then(function (selectedItem) {
            $scope.links.imagesa = "wept";

        }, function () {
            $log.info('Modal dismissed at: ' + new Date());
        });
    };

    $scope.ask = function () {
        console.log($scope.links.imagesa);
    };

});

最佳答案

如果要更新父级作用域,则必须使用$ scope。$ parent.links.imagesa,因为在子级作用域中所做的更改不会直接反映在父级作用域中。

关于javascript - Angular 父范围变量不变,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30679748/

10-11 17:53