Angular 1/ ng-if 只在一个条件下一次性绑定
Angular 1/ ng-if one-time binding only in a condition
在我的模板中有:
<div ng-if="$ctrl.show()">
<input class="form-control" type="text">
</div>
在我的组件中
show() {
if (angular.isDefined(this.parking.parkingType)) {
return this.parking.parkingType.labelKey === 'parking_type.air'
}
}
我希望 angular 仅在单击属性 on-select="$ctrl.show()"
的 select 输入 (ui-select) 时处理该函数:
<ui-select ng-model="$ctrl.parking.parkingType"
on-select="$ctrl.show()">
<ui-select-match allow-clear="true">
<span>{{ $select.selected.label }}</span>
</ui-select-match>
<ui-select-choices repeat="item in $ctrl.parkingType | filter: { label: $select.search }">
<span ng-bind-html="item.label"></span>
</ui-select-choices>
</ui-select>
此案例可能类似于示例案例:仅在单击 ng-click
时启动功能
将您的 ng-show 更改为变量并保持 on-select="$ctrl.show()"
不变
在您看来:
<div ng-if="$ctrl.shouldShow">
<input class="form-control" type="text">
</div>
在你的组件中:
$ctrl.show = function() {
if (angular.isDefined(this.parking.parkingType)) {
$ctrl.shouldShow = (this.parking.parkingType.labelKey === 'parking_type.air')
}
}
最好不要在 ng-if、ng-show 和 ng-hide 中使用函数,因为它会影响性能
在我的模板中有:
<div ng-if="$ctrl.show()">
<input class="form-control" type="text">
</div>
在我的组件中
show() {
if (angular.isDefined(this.parking.parkingType)) {
return this.parking.parkingType.labelKey === 'parking_type.air'
}
}
我希望 angular 仅在单击属性 on-select="$ctrl.show()"
的 select 输入 (ui-select) 时处理该函数:
<ui-select ng-model="$ctrl.parking.parkingType"
on-select="$ctrl.show()">
<ui-select-match allow-clear="true">
<span>{{ $select.selected.label }}</span>
</ui-select-match>
<ui-select-choices repeat="item in $ctrl.parkingType | filter: { label: $select.search }">
<span ng-bind-html="item.label"></span>
</ui-select-choices>
</ui-select>
此案例可能类似于示例案例:仅在单击 ng-click
将您的 ng-show 更改为变量并保持 on-select="$ctrl.show()"
不变
在您看来:
<div ng-if="$ctrl.shouldShow">
<input class="form-control" type="text">
</div>
在你的组件中:
$ctrl.show = function() {
if (angular.isDefined(this.parking.parkingType)) {
$ctrl.shouldShow = (this.parking.parkingType.labelKey === 'parking_type.air')
}
}
最好不要在 ng-if、ng-show 和 ng-hide 中使用函数,因为它会影响性能