我以前一直以为只有传给后台的数据才能用doT模板写入,
其实,随时可以把本地处理的数据,仅仅的一个变量,改头换面成一个it关键字下面的属性。
方法就是在tpl中给它赋值。
要注意的是,首先tpl中的属性值必须在onCreate中的setView中初始化过,也就是get过,
此处并不是必须要config中声明过才可以。
config: { }, Sorted = [], Alphabet = [], onCreate: function() {
this.setView("cityList.html", {
items : null,
alphabet : this.getAlphabet()
});
this.scroller = null;
},
这个属性值,规范化命名应该是小写字母打头,为了后面的get方法把它变成大写字母打头的。
属性值对应html模板中的属性值。
而自己定义的变量,变量名没有这种限制,因为它只是将被赋值给这个属性值,他们甚至都不一定要用同一个单词,心里有数就好。
//format the cities data me.cityList(items.cities); items.cities = me.Sorted; //inject to doT var tpl = itu.view.get("resources/cc/cityList/cityList.html"), html = tpl({ items: items, alphabet: me.Alphabet }); me.$content = $.create(html); me.$element.empty().append(me.$content);
一句话总结:“我只需要在 模板中 写个属性,在setview里面get这个属性,然后tpl里面给它赋值,config不用写”