我试图想出一个简单的方法来交换角度js中的按钮中的链接,我在可以使用的范围内有可用的属性,但我不确定如何实现。我试图改变的链接是在' onClick'按钮中的属性。再次感谢,这是我的代码:
<div class="instructions-button">
<button
type="button"
class="halo-modal-action-button external-instructions"
onClick="window.open('https://mysite/foo');"
window="new"
ng-disabled=""
ng-click=""
data-bs-enabled=""
>Instructions</button>
</div>
我正在尝试制作一个简单的条件来显示:
'mysite/foo || mysite/bar'
但我不确定如何使其发挥作用。
答案 0 :(得分:5)
不要在按钮上使用onClick
事件,虽然它可能会让你觉得很奇怪,因为你来自vanilla JS,你应该使用ng-click
。
<button
class="halo-modal-action-button external-instructions"
ng-disabled=""
ng-click="openWindow()"
data-bs-enabled=""
>Instructions</button>
和内部控制器
$scope.openWindow = function(){
if ( condition ) {
open('http:foo.bar')
} else {
open('http:bar.foo')
}
}
答案 1 :(得分:2)
两种简单的方法。
1)两个按钮并使用ng-show
有条件地显示一个按钮。
<button ... ng-show="conditionShowFooTrue" >
<button ... ng-show="conditionShowBarTrue" >
2)使用ng-click
调用范围函数,以有条件地设置其他答案所建议的网址。
答案 2 :(得分:1)
如果你正在使用路线,你可以像@Akxe说的那样使用ng-click
,并使用控制器中的$location
服务,执行:
$scope.changeLocation = function(){
if(condition)
{
$location.path('/foo');
} else
{
$location.path('/bar');
}
};
我认为这将是Angular的做法。