1
當我嘗試在角度上添加SweetAlert2到我的刪除按鈕時,它會阻止範圍更新模型。它們可以一起使用嗎?如何在使用SweetAlert2和Angular時保持範圍?
Shown here in this Plunker (請務必先添加一個項目,那麼您可以在該示例刪除)
代碼SweetAlert不工作(當我確認沒有任何反應):
function fieldToolsController($scope, ParticipantFactory) {
var model = this;
model.participant = ParticipantFactory;
model.participant.hasRoles = model.participant.roles.length > 0;
model.deleteSelectedRole = function() {
for (var i = 0; i < model.participant.roles.length; i++) {
if (model.participant.roles[i] === model.participant.selected) {
swal({
title: 'Are you sure?',
text: "You won't be able to revert this!",
type: 'warning',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'Yes, delete it!'
}).then(function() {
//=============================
//LOSES SCOPE HERE OR SOMETHING
//=============================
model.participant.roles.splice(i, 1);
model.participant.hasRoles = model.participant.roles.length > 0;
if (model.participant.hasRoles) {
model.participant.selected = model.participant.roles[0];
}
return;
//=============================
//=============================
//=============================
});
}
}
};
}
下面是一個正常的JavaScript警告正常工作相同的功能:
function fieldToolsController($scope, ParticipantFactory) {
var model = this;
model.participant = ParticipantFactory;
model.participant.hasRoles = model.participant.roles.length > 0;
model.deleteSelectedRole = function() {
for (var i = 0; i < model.participant.roles.length; i++) {
if (model.participant.roles[i] === model.participant.selected) {
var c = confirm("Are you sure?");
if(c){
model.participant.roles.splice(i, 1);
model.participant.hasRoles = model.participant.roles.length > 0;
if (model.participant.hasRoles) {
model.participant.selected = model.participant.roles[0];
}
return;
}
}
}
};
}
呀 - 我肯定試過了。我希望它也會那麼簡單。發生此錯誤:'app.js:26未捕獲(承諾中)TypeError:無法讀取未定義的屬性'角色' – RichC