AngularJS - 如何添加一个条件来引导模态目标
AngularJS - how to add a conditional to bootstrap modal target?
所以我有一个在单击按钮时出现的模态 - 但是我希望模态仅在满足某些条件时才出现(在我的控制器中定义)。
网页代码:
<button class="btn btn-primary-outline" type="button" data-uk-modal="{target:'#previewModal'
}" ng-click="previewOfferBefore()">Preview</button>
以上工作(带有 id "previewModal"的模式在单击时弹出)。所以我的方法是在控制器中添加条件,并使用 Angular 数据绑定在其中定义"目标"的值。
即:
<button class="btn btn-primary-outline" type="button" data-uk-modal="{target: {{ previewLink
}}}" ng-click="previewOfferBefore()">Preview </button>
然后控制器将具有:
$scope.previewOfferBefore = function() {
if (/*some conditions here*/) {
$scope.previewLink = '#'; /*don't let a modal pop up */
}
else {
$scope.previewLink = '#previewModal' /*let the modal pop up */
}
}
我也尝试过一种方法是使用 ng-href 而不是 bootstrap 的 data-uk-modal,但这也没有奏效。我知道我的控制器功能很好,因为当我将 {{ previewLink }} 放在 p html 标签中时,它会打印出我想要的正确 id。所以问题是我如何在按钮类中绑定数据。
如果您对按钮被禁用或变灰感到满意,那么一种解决方案是使用 ng-disabled。您的控制器看起来像这样;
$scope.previewOfferBefore = function() {
if (/*some conditions here*/) {
$scope.canClick= true;
}
else {
$scope.canClick= false;
}
}
然后你的 html 就会变成;
<button ng-disabled="canClick" class="btn btn-primary-outline" type="button" data-uk-modal="{target:'#previewModal'
}" ng-click="previewOfferBefore()">Preview</button>
然后,如果您的按钮在 if 语句上遇到错误大小写,它将变得不可单击。
您可以简单地使用两个按钮,然后根据您的表情使用ng-if
或ng-show
显示其中一个按钮。您可以简单地在内部使用角度。
<button ng-show="previewLink !== '#'" type="button" data-uk-modal="{target: '#previewLink'}" ng-click="previewOfferBefore()">
Preview
</button>
<button ng-show=""previewLink === '#'"" type="button" data-uk-modal="{target: '#'" ng-click="previewOfferBefore()">
Preview
</button>
另类:
我会尝试ng-attr
将您的角度表达式放入属性中,例如
ng-attr-uk-modal="{{'target:' + value}}"
并将value
绑定到所需的目标。我还没有尝试过这个,可能需要一些调整。
相关文章:
- 通过js在新选项卡中有条件地打开url
- 我已经创建了一个jquery转盘,并使用if条件来运行和停止转盘
- jQuery-有条件地附加HTML
- 根据某些条件在视图之间切换
- 如何做到这一点,使代码在不传递条件后执行函数
- 有条件更新d3.js力图中节点的最佳方法
- javascript中的布尔条件
- 为什么HTML5拖放的目标是孩子?(可排序列表)
- 如何覆盖锚点元素's href目标,并在我点击转到目标javascript时删除其他错误
- Woocommerce产品选项有条件
- 基于两个条件退出While循环
- 有条件地在选项标记中应用布尔属性
- 使用javascript以HTML形式验证条件
- 对一个对象使用reduce可以返回一个没有't在数组中包含目标字母
- Href:当前DIV中的目标ID
- 聚合物0.5.5:核心列表中的条件模板和/或模板动态参考
- Regex目标特定单词基于两个起始行条件
- AngularJS - 如何添加一个条件来引导模态目标
- 通过javascript为jsf中的commandlink标签的目标属性设置条件
- 目标条件语句jQuery中提到的单个元素