我遇到了一个问题。
我有一个这样的角度按钮:
<button ng-click = "makeRestCall()">
</button>
这是Javascript代码的样子:
$scope.makeRestCall = function() {
console.log('Logic to make rest call...');
};
现在的问题是,当我单击按钮时,我希望它显示一个弹出窗口以供确认,而不是直接通过JS进行REST调用。如果是,则调用该函数,否则调用。
有人可以帮忙吗?
答案 0 :(得分:4)
您可以使用浏览器创建一个简单的 btnCalibrate = MDCRaisedButton()
btnCalibrate?.setImage(UIImage(named: "chip"), for: .normal)
btnCalibrate?.backgroundColor = UIColor(netHex: Constants.color)
btnCalibrate?.layer.cornerRadius = 40.0
btnCalibrate?.imageEdgeInsets=UIEdgeInsets(top: 5, left: 2, bottom: 5, right: 2)
btnCalibrate?.imageView?.contentMode = .scaleAspectFit
btnCalibrate?.isUserInteractionEnabled=true
let tapGesture = UITapGestureRecognizer(target: self, action: #selector(recalibrateFromImageView(_:)))
btnCalibrate?.addGestureRecognizer(tapGesture)
btnCalibrate?.translatesAutoresizingMaskIntoConstraints=false
//btnCalibrate?.addTarget(self, action: #selector(recalibrate(_:)), for: [.touchUpInside])
self.addSubview(btnCalibrate!)
框(为了使将来更加直观,您可以使用alertify
插件来使弹出式UI在整个浏览器中保持一致)
imageView
Demo和Alertify
进一步扩展它,如果继续在每个位置重复相同数量的代码,那将是一个糟糕的解决方案。这样可以使ACID的DRY原理变得紫色。更好的是,我们只需编写一次逻辑,然后在任何地方使用它。在angular中,您可以为它创建指令。
指令
UIButton
用法
confirm
控制器
$scope.makeRestCall = function() {
var accepted = confirm('Are you sure you want to proceed.')
if(accepted)
console.log('Logic to make rest call...');
};
Running demo和指令