【发布时间】:2020-12-24 13:09:46
【问题描述】:
我有这个 html 模板文件,range-details-dialog.tpl.html
<div class="modal-header clearfix text-left">
<h5>Update Range</h5>
</div>
<div class="modal-body">
<form name="form" role="form" class="ng-pristine ng-valid" novalidate ng-submit="updateRange()">
<div class="form-group-attached">
<div class="row">
<div class="col-sm-12">
<div class="form-group form-group-default input-group p-l-10 p-r-10" ng-class="{ 'has-error' : form.$invalid }">
<p ng-show="form.rangeDaily.$error.min" class="help-block">Daily range more than £5</p>
</div>
</div>
</div>
</div>
</form>
<div class="row">
<div class="col-sm-8"></div>
<div class="col-sm-4 m-t-10 sm-m-t-10">
<button type="button" class="btn btn-primary btn-block m-t-5"
ng-disabled="form.$invalid || promise" promise-btn="promise" ng-click="updateRange()">Update</button>
</div>
</div>
</div>
然后我想要另一个文件forced-range-details-dialog.tpl.html
这两个文件可以是一个文件,而不是动态填充的占位符。
这些是需要替换的地方:
-
<h5>Update Range</h5>将变为<h5>Update Forced Range</h5> -
<p ng-show="form.rangeDaily.$error.min" class="help-block">Daily range more than £5</p>会变成:
<p ng-show="form.forcedRangeDaily.$error.min" class="help-block">Forced Daily range more than £5</p> -
ng-disabled="form.$invalid || promise" promise-btn="promise" ng-click="updateRange()">Update</button>,
ng-disabled="form.$invalid || promise" promise-btn="promise" ng-click="updateForcedRange()">Update</button>
有没有办法避免上述两个单独的模板文件?您能否提供一些示例、链接或指针来说明如何实现?
另外,我在答案中看到一个解决方案是在组件内添加一个布尔参数,然后调用它两次。我不确定如何调用该组件。我在下面粘贴了我的组件:
angular.module('app.investment.rangeDetails')
.component('pxForcedLimitAmount', {
templateUrl: '/assets/js/apps/range/range-details-dialog.tpl.html',
bindings: {
amount: '<',
isRequest: '<?',
requestedAt: '<?',
@Input() isForced: boolean //<<----I added this based on answers below
},
controller: [function () {
var ctrl = this;
ctrl.$onInit = function () {
ctrl.isRequest = ctrl.isRequest === true || false;
};
}],
});
【问题讨论】:
-
使用变量在 div 之间切换并在模板上使用
*ngIf。 -
@Natasha Kurian,你能发一个例子或分享一个链接吗?
标签: javascript html angularjs templates angular-template