15 ŞUBAT 2012, ÇARŞAMBA
Bir denetleyici başka bir arayabilir mi?
Bir denetleyici başka bir kullanım olur mu?
Örneğin:
Bu HTML belgesi sadece bir ileti messageCtrl.js
dosyasında MessageCtrl
denetleyicisi tarafından teslim yazdırır.
<html xmlns:ng="http://angularjs.org/">
<head>
<meta charset="utf-8" />
<title>Inter Controller Communication</title>
</head>
<body>
<div ng:controller="MessageCtrl">
<p>{{message}}</p>
</div>
<!-- Angular Scripts -->
<script src="http://code.angularjs.org/angular-0.9.19.js" ng:autobind></script>
<script src="js/messageCtrl.js" type="text/javascript"></script>
</body>
</html>
Denetleyicisi dosyası aşağıdaki kodu içerir:
function MessageCtrl()
{
this.message = function() {
return "The current date is: " new Date().toString();
};
}
Sadece geçerli tarih yazdıran;
Eğer MessageCtrl
, bunu nasıl yapıyor hakkında gitmek istiyorsunuz? belirli bir biçimde geri tarih teslim eden başka bir denetleyici, DateCtrl
eklemek olsaydım Dİ çerçevesi XmlHttpRequests
ve erişim hizmetleri ile ilgili gibi görünüyor.
Herkes yardımcı olabilir?
CEVAP
23 ŞUBAT 2012, PERŞEMBE
Denetleyicileri arasında iletişim kurmak için birden çok yolu vardır.
En iyi ihtimalle bir hizmet paylaşıyor:
function FirstController(someDataService)
{
// use the data service, bind to template...
// or call methods on someDataService to send a request to server
}
function SecondController(someDataService)
{
// has a reference to the same instance of the service
// so if the service updates state for example, this controller knows about it
}
Başka bir yol kapsamında bir olay yayan:
function FirstController($scope)
{
$scope.$on('someEvent', function(event, args) {});
// another controller or even directive
}
function SecondController($scope)
{
$scope.$emit('someEvent', args);
}
Her iki durumda da, herhangi bir yönerge ile de iletişim kurabilirsiniz.
Bunu Paylaş:
Raylar: bir denetleyici başka bir dene...
Başka fıkra ise Python deyimi...
SCSS başka bir sınıfı da dahil olmak ü...
Başka bir komut eklemek için Nasıl?Bas...
Listeler başka bir Liste İçeriğini ekl...