Çalışma kapsamında$.$yayarlar ve .$üzerinde
Nasıl bir .$emit
.$on
yöntemleri kullanarak bir kumanda $scope
benim nesne gönderebilir miyim?
function firstCtrl($scope)
{
$scope.$emit('someEvent', [1,2,3]);
}
function secondCtrl($scope)
{
$scope.$on('someEvent', function(mass) { console.log(mass); });
}
Bence bu iş böyle yürümez. Nasıl $emit
$on
çalışır?
CEVAP
Her şeyden önce, ebeveyn-çocuk ilişkisi kapsamı önemli. Bazı olay yaymak için iki seçenek var:
$broadcast
-- olay kapsamları her çocuk için aşağıya gönderir$emit
-- etkinlik kapsamında hiyerarşisinde yukarı doğru gönderir.
Senin denetleyicileri (scopes) ilişkisi hakkında bir şey bilmiyorum, ama birkaç seçenek vardır:
Eğer
secondCtrl
kapsamı, kodfirstCtrl
ebeveyn kapsamında olursa değiştirerek işefirstCtrl
15 *$emit
:function firstCtrl($scope) { $scope.$broadcast('someEvent', [1,2,3]); } function secondCtrl($scope) { $scope.$on('someEvent', function(event, mass) { console.log(mass); }); }
Kendi arasında alt-üst ilişkisi yok diye kapsamları kumandaya
$rootScope
enjekte ve olay yayınlayabilir tüm alt kapsamları (yani aynı zamanda 19**).function firstCtrl($rootScope) { $rootScope.$broadcast('someEvent', [1,2,3]); }
Çocuk kumanda olayını göndermek için ihtiyacınız olduğunda nihayet, kapsamları Yukarı
$scope.$emit
kullanabilirsiniz.firstCtrl
eğer kapsamsecondCtrl
kapsamında üst:function firstCtrl($scope) { $scope.$on('someEvent', function(event, data) { console.log(data); }); } function secondCtrl($scope) { $scope.$emit('someEvent', [1,2,3]); }
Açık birden Eclipse Mac üzerinde çalış...
Eğer Program aracılığıyla app aygıt ve...
H5py Python büyük veri üzerinde analit...
Ne kadar farklı çalışma alanları üzeri...
Windows (7)üzerinde Java çalışma Zaman...