这可能看起来像一个简单的问题,但我一直努力寻找文档。
我有一个空格键助手,它在一个对象的游标中返回一个集合中的值,以便在{{#each}}
块中使用。这些对象有一个布尔属性,我用它来检查/取消选中一个复选框。
但是,需要反转数据库中的布尔值以便在复选框中使用。如果集合中的记录的布尔属性评估为“false”,我需要它在使用中为“true”。
{{#each records}}
{{name}}: <input type="checkbox" checked="{{!checked}}">
{{/each}}
这里的问题是{{!
表示空格键注释,而不是将“false”转换为“true”。
在此代码段中,{{!checked}}
被视为评论而非帮助。
理论上,我可以在辅助逻辑中运行forEach()
循环并反转每个对象的布尔值。但是,对于像这样简单的事情,我觉得必须有更好的方法。
答案 0 :(得分:1)
让自己成为 import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let requiredButton : UIButton = {
let button = UIButton()
button.backgroundColor = UIColor.greenColor()
button.setTitle("Add new request", forState: UIControlState.Normal)
return button
}()
// dont worry about frame right now
self.view.addSubview(requiredButton)
// set frame using autolayout
self.view.addContraintsWithFormat("H:|-10-[v0]-10-|", views: requiredButton)
self.view.addContraintsWithFormat("V:[v0(50)]-10-|", views: requiredButton)
[enter image description here][1]
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
extension UIView{
func addContraintsWithFormat(format: String, views: UIView...){
var viewDictionary = [String: UIView]()
for (index,view) in views.enumerate(){
let key = "v\(index)"
viewDictionary[key] = view
view.translatesAutoresizingMaskIntoConstraints = false
}
addConstraints(NSLayoutConstraint.constraintsWithVisualFormat(format, options: NSLayoutFormatOptions(), metrics: nil, views: viewDictionary))
}
}
全球帮助者:
not
然后在任何模板中使用Template.registerHelper('not',(param)=>{
return !param;
});