Vì vậy, nói rằng tôi có một biến $scope
được xác định như sau:
$scope.data = {
filter: {
state: 'WA',
country: 'US'
}
};
Làm thế nào để truy cập vào đó trong một dịch vụ riêng biệt bởi chuỗi? ví dụ. data.filter
trong ngữ cảnh của $scope
.
Vì vậy, nói rằng tôi có một phương pháp dịch vụ như vậy:
function doSomething($scope, variableName) {
// I want to access $scope[variableName] here??
}
tôi sẽ gọi nó là từ bộ điều khiển như vậy:
service.doSomething($scope, 'data.filter');
Tôi thực sự muốn làm một 'angular.forEach' vào loại quà, vì vậy tôi sử dụng '$ eval' và nó có vẻ hoạt động? Và vấn đề với điều đó? – Sam
Làm thế nào để tôi quên việc sử dụng $ parse thay vì $ eval. Có, eval hoạt động hoàn toàn tốt. Nếu bạn nhìn vào mã nội bộ, bạn sẽ thấy rằng $ eval chỉ là $ parse, tự động sử dụng $ scope như context: 'return $ parse (expr) (this, local);' Tôi sẽ cập nhật với $ eval. –
Vì các dịch vụ đơn lẻ trong góc cạnh, phải rất cẩn thận khi chuyển các phạm vi đến các dịch vụ vì dịch vụ có thể giữ tham chiếu và phạm vi có thể không bị hủy. – Chandermani