我基本上試圖找出如何在角度控制器內做某個事件監聽器。更具體地說,當引導模式被解除時,我想在角度控制器內激發一個功能。在jQuery中,你通常可以這樣做:嘗試在自舉模式後啓動角度控制器內部的功能被解僱
$(.some-class).on('click', function() {
// do something
});
我所擁有的是一個側面導航圖像作爲按鈕。當他們處於非活動狀態時,我有灰色按鈕,當他們處於活動狀態時,我有灰色按鈕每個按鈕啓動一個引導模式。
我使用:
<a type="button" data-toggle="modal" data-target="#overview" ng-click="launchOverview()">
<img ng-src="{{ sideNavActive.overviewSrc }}" /><br />
</a>
,我有我的控制器對象:
$scope.sideNavActive = {
"overviewSrc": "img/side-nav/tab-overview-off.png",
"detailsSrc": "img/side-nav/tab-details-off.png",
"contactSrc": "img/side-nav/tab-contact-off.png"
}
當用戶點擊側導航按鈕中的一個,我有一個NG單擊功能將該按鈕更改爲「img /...- on.png」,使該按鈕變成紅色(激活)。當用戶點擊另一個side-nav按鈕時,它會將該按鈕變成紅色,其餘的變成灰色。
我想要做的是當用戶點擊模式周圍的褪色區域來解除它,我也希望按鈕都重置爲灰色。根據bootstrap文檔,我應該能夠在'hidden.bs.modal'事件上激發一個函數,但是我無法在我的角度控制器中使用它。我有以下功能,其中「#overview」是我的模式ID。
$('#overview').on('hidden.bs.modal', function() {
console.log('function fired!!!!!');
$scope.sideNavActive = {
"overviewSrc": "img/side-nav/tab-overview-off.png",
"detailsSrc": "img/side-nav/tab-details-off.png",
"contactSrc": "img/side-nav/tab-contact-off.png"
}
})
但是,這個函數不會在模態被解散時觸發,我不知道爲什麼。
有一件事情我已經做了,看看是否功能實際上在聽被改成了:
$('body').on('click', function() {
// function code here
}
和它的作品。每當我點擊任何地方都會觸發,因爲它正在監聽「body」元素。所以我知道它在聽,但由於某種原因,'hidden.bs.modal'事件不起作用。
不要混合jQuery與角 – Akashii
@ThanhTùng如何將它轉換爲角?我做了: 'angular.element('#overview')。on('hidden.bs.modal',function(){ console.log('function fired !!!!!''); $ scope.sideNavActive = { 「overviewSrc」:「img/side-nav/tab-overview-off.png」, 「detailsSrc」:「img/side-nav/tab-details-off.png」, 「contactSrc 「:」img/side-nav/tab-contact-off.png「 } })' 並且它仍然不起作用。 –
你嘗試使用'$ scope.launchOverview = function(){}' – Akashii