gpt4 book ai didi

javascript - $ionicPopup templateUrl 内的 ng-model 不适用于范围

转载 作者:行者123 更新时间:2023-12-03 06:32:31 24 4
gpt4 key购买 nike

这是我的 Controller 代码。显示弹出窗口并单击按钮,进行一些验证:

UZCampusWebMapApp.controller('PlanCtrl',function($scope, $ionicModal, $ionicLoading, $ionicPopup) {

$scope.confirmCreatePOI = function(data) {
var myPopup = $ionicPopup.show({
templateUrl: 'templates/pois/confirmCreatePOI.html',
title: 'Confirmar creación de POI',
scope: $scope,
buttons: [
{
text: '<b>Save</b>',
onTap: function() {
var invalidEmail = $scope.email.length==0 || $scope.email==null || typeof($scope.email)=='undefined';
if ($scope.emailChecked==true && invalidEmail) {
$ionicLoading.show({ template: 'Email is mandatory'});
}
else {
data.email = $scope.email;
$scope.finalSubmitCreatePOI(data);
}
}
},
{
text: 'Cancel'
}
]
});
};
});

这是调用之前的 Controller 函数 confirmCreatePOI 的指令代码:

    UZCampusWebMapApp.directive('formCreatePointOfInterest', function($ionicLoading) {
return {
restrict : 'A',
scope: true,
controller : function($scope) {
$scope.submit = function(data) {
console.log("Submit form createpoint of interest",data);
if($scope.createPOIform.$valid) {
$scope.confirmCreatePOI($scope.data);
} else {
$ionicLoading.show({ template: 'El formulario es inválido', duration: 1500})
}
}
}
}
});

这是我的 templateUrl 代码:

<div id="confirm-create-poi-popup">
<p> Text </p>
<p> Text </p>
<div class="list">
<ion-checkbox ng-model="emailChecked">Receive notification</ion-checkbox>
<label class="item item-input">
<input type="email" ng-model="email">
</label>
</div>
</div>

因此,在用户单击“保存”按钮(onTap事件)后,我想检查是否已在输入字段中输入电子邮件。

但是当我用comprobation检查它时:

var invalidEmail = $scope.email.length==0 || $scope.email==null || typeof($scope.email)=='undefined';

$scope.email.length==0 表达式返回错误,因为电子邮件未定义,因此 ng-model 属性不适用于 $scope,我没有在 $scope.email

上获得任何值

这是为什么呢? $ionicPopup $scope 属性不起作用吗?使用错误?

最佳答案

我用 this.scope.cd_ticket 解决了这个问题:

var popup = $ionicPopup.show({
title: 'Validar Ticket',
scope: $scope,
template: '<input type="tel" placeholder="Digite o código do ticket" ng-model="cd_ticket" >',
buttons: [{
text: '<i class="icon ion-close"></i>',
type: 'popup-close'
},
{
text: '<i class="icon ion-checkmark"></i>',
type: 'common-btn',
onTap: function (e) {
return this.scope.cd_ticket;
}
}
]
}).then(function (res) {
if (res) {
$ionicPopup.alert({
title: 'Alerta',
template: 'Ticket: ' + $scope.cd_ticket + "<br>Resposta: " + res
});
}
console.log(res);
});

关于javascript - $ionicPopup templateUrl 内的 ng-model 不适用于范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38385253/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com