2014-11-04 17 views
18

Tôi đang cố chuyển một số dữ liệu mô hình vào một cửa sổ phương thức khi nó được mở. Khi người dùng nhấp vào một phần tử tôi muốn mở cửa sổ phương thức và hiển thị thông tin chi tiết hơn liên quan đến những gì đã được nhấp vào.Phương thức Angular-ui - chuyển dữ liệu sang phương thức

Tôi đã tạo một plunker hoạt động như thế nào tôi muốn nó ngoại trừ việc chuyển dữ liệu vào cửa sổ phương thức.

Tôi cố gắng để vượt qua các dữ liệu trong việc sử dụng ng-click:

<img ng-src="{{item.picture}}" width="100" ng-click="open(item)"/> 

bất cứ ai có thể giúp tôi với điều này? hoặc chỉ cho tôi đi đúng hướng?

Trả lời

29

Làm thế nào về this?

tôi đã thêm các mục vào quyết tâm

resolve: { 
    items: function() { 
     return $scope.items; 
    }, 
    item: function(){ 
     return size; 
    } 
} 

Và trong controller tôi đang làm: $scope.item = item; sau khi tiêm các item

13

Tôi đã thực hiện một plunker cho bạn tại http://plnkr.co/FzU5SOv3pdZmAPAIOzdo.

Bạn muốn giải quyết dữ liệu của mình giống như bạn thực hiện các mục hiện tại.

$scope.open = function (size) { 

var modalInstance = $modal.open({ 
    templateUrl: 'myModalContent.html', 
    controller: 'ModalInstanceCtrl', 
    resolve: { 
    items: function() { 
     return $scope.items; 
    }, 
    size: function() { 
     console.log('size: ', size); 
     return size; 
    } 
    } 
}); 

và trong điều khiển phương thức của bạn chắc chắn để bao gồm các đối tượng kích thước hiện nay giải quyết như sau:

angular.module('ui.bootstrap.demo').controller('ModalInstanceCtrl', function ($scope, $modalInstance, items, size) { 

    $scope.items = items; 
    $scope.selected = { 
    item: $scope.items[0] 
    }; 
    $scope.size = size; 

    $scope.ok = function() { 
    $modalInstance.close($scope.selected.item); 
    }; 

    $scope.cancel = function() { 
    $modalInstance.dismiss('cancel'); 
    }; 
}); 
0

gì làm việc cho tôi là tạo ra một đối tượng trong resolve trả về một đối tượng giữ các biến mà tôi muốn chia sẻ.

resolve: { 
    shared: function(){ 
    return { 
     name: 'Spencer', 
     numbers: [1, 2, 3] 
    } 
    } 
} 

Để truy cập đối tượng shared, hãy bao gồm nó khi xác định trình điều khiển thể hiện phương thức của bạn.

app.controller('ModalInstanceController', function($scope, shared, $uibModalInstance,
Các vấn đề liên quan