ฉันกำลังพยายามตั้งค่ากล่องโต้ตอบการยืนยันng-click
โดยใช้คำสั่ง angularjs ที่กำหนดเอง:
app.directive('ngConfirmClick', [
function(){
return {
priority: 1,
terminal: true,
link: function (scope, element, attr) {
var msg = attr.ngConfirmClick || "Are you sure?";
var clickAction = attr.ngClick;
element.bind('click',function (event) {
if ( window.confirm(msg) ) {
scope.$eval(clickAction)
}
});
}
};
}])
วิธีนี้ใช้งานได้ดี แต่น่าเสียดายที่นิพจน์ภายในแท็กโดยใช้คำสั่งของฉันไม่ได้รับการประเมิน:
<button ng-click="sayHi()" ng-confirm-click="Would you like to say hi?">Say hi to {{ name }}</button>
(ชื่อไม่ได้รับการประเมินในกรณีนี้) ดูเหมือนว่าจะเป็นเพราะพารามิเตอร์เทอร์มินัลของคำสั่งของฉัน คุณมีแนวคิดในการแก้ไขปัญหาหรือไม่?
เพื่อทดสอบรหัสของฉัน: http://plnkr.co/edit/EHmRpfwsgSfEFVMgRLgj?p=preview