我基本上试图找出如何在角度控制器内做某个事件监听器。更具体地说,当引导模式被解除时,我想在角度控制器内激发一个功能。在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