ionic 4 ng-真值等价
ionic 4 ng-true-value equivalence
我正在将 ionic 1 应用程序重写为 ionic 4.5.0,我在 ionic 1 中有这样的计算器:
HTML:
<ion-toggle toggle-class="toggle-positive" id="myid" ng-model="data.product1" ng-false-value="0" ng-true-value="50">{{data.product1}}
<i class="icon ion-social-euro"></i>
</ion-toggle>
ControllerJs:
$scope.data = {
'product1' : 0,
'product2' : 0,
'product3' : 0
}
在 ionic 1 上,我们有如下指令:
ng-false-value="0" ng-true-value="50"
所以,当切换打开时,真值为 50,假值为 0。
在我的新应用中,我正在尝试做同样的事情:
HTML:
<ion-item>
<ion-label>Product 1 {{data.product1}}</ion-label>
<ion-toggle name="product1" [(ngModel)]="data.product1"></ion-toggle>
</ion-item>
ts
data: any = {
product1: 0,
product2: 0,
product3: 0
};
{{data.product1}} is showing 0, but when i activate the toggle it's showing true or false
我找到了这个解决方案,但它适用于 angular:https://juristr.com/blog/2018/02/ng-true-value-directive/
ionic 4 中的 ng-true-value 和 ng-false-value 是否有等价物或其他东西?
一种方法是在切换更改值时使用 ionChange
事件 add/subtract 50。
在此示例中,我们传递数据对象的产品密钥和切换值。这样你就可以重用这个函数了。
<ion-item>
<ion-label>Product 1 {{data.product1}}</ion-label>
<ion-toggle name="product1" [(ngModel)]="toggle.product1" (ionChange)="toggleValues('product1', 50)"></ion-toggle>
</ion-item>
toggle = {
'product1': false;
// add more
}
toggle50Values(productKey: string, value: number) {
if (this.toggle[productKey]) { // toggle is true
this.data[productKey] += value;
} else { // toggle is false
this.data[productName] -= value;
}
}
文档:Ion-toggle
正确的做法是:
HTML:
<ion-item>
<ion-label>Product1 {{data.product1}}</ion-label>
<ion-toggle name="product1" [(ngModel)]="data.product1" (ionChange)="calculateProduct1()"></ion-toggle>
</ion-item>
.ts
data: any = {
product1: 0,
product2: 0
}
calculateProduct1() {
if (this.data.product1) { // toggle is true
this.data.product1 = 50;
} else { // toggle is false
this.data.product1 = 0;
}
}
我正在将 ionic 1 应用程序重写为 ionic 4.5.0,我在 ionic 1 中有这样的计算器:
HTML:
<ion-toggle toggle-class="toggle-positive" id="myid" ng-model="data.product1" ng-false-value="0" ng-true-value="50">{{data.product1}}
<i class="icon ion-social-euro"></i>
</ion-toggle>
ControllerJs:
$scope.data = {
'product1' : 0,
'product2' : 0,
'product3' : 0
}
在 ionic 1 上,我们有如下指令:
ng-false-value="0" ng-true-value="50"
所以,当切换打开时,真值为 50,假值为 0。
在我的新应用中,我正在尝试做同样的事情:
HTML:
<ion-item>
<ion-label>Product 1 {{data.product1}}</ion-label>
<ion-toggle name="product1" [(ngModel)]="data.product1"></ion-toggle>
</ion-item>
ts
data: any = {
product1: 0,
product2: 0,
product3: 0
};
{{data.product1}} is showing 0, but when i activate the toggle it's showing true or false
我找到了这个解决方案,但它适用于 angular:https://juristr.com/blog/2018/02/ng-true-value-directive/
ionic 4 中的 ng-true-value 和 ng-false-value 是否有等价物或其他东西?
一种方法是在切换更改值时使用 ionChange
事件 add/subtract 50。
在此示例中,我们传递数据对象的产品密钥和切换值。这样你就可以重用这个函数了。
<ion-item>
<ion-label>Product 1 {{data.product1}}</ion-label>
<ion-toggle name="product1" [(ngModel)]="toggle.product1" (ionChange)="toggleValues('product1', 50)"></ion-toggle>
</ion-item>
toggle = {
'product1': false;
// add more
}
toggle50Values(productKey: string, value: number) {
if (this.toggle[productKey]) { // toggle is true
this.data[productKey] += value;
} else { // toggle is false
this.data[productName] -= value;
}
}
文档:Ion-toggle
正确的做法是:
HTML:
<ion-item>
<ion-label>Product1 {{data.product1}}</ion-label>
<ion-toggle name="product1" [(ngModel)]="data.product1" (ionChange)="calculateProduct1()"></ion-toggle>
</ion-item>
.ts
data: any = {
product1: 0,
product2: 0
}
calculateProduct1() {
if (this.data.product1) { // toggle is true
this.data.product1 = 50;
} else { // toggle is false
this.data.product1 = 0;
}
}