我正在阅读John Papa这个优秀的造型指南。在列表中有一点点,他谈到了' Bindable Members Up Top'。
引用他的例子,他说避免这个:
/* avoid */
function Sessions() {
var vm = this;
vm.gotoSession = function() {
/* ... */
};
vm.refresh = function() {
/* ... */
};
vm.search = function() {
/* ... */
};
vm.sessions = [];
vm.title = 'Sessions';
而是使用此:
/* recommended */
function Sessions() {
var vm = this;
vm.gotoSession = gotoSession;
vm.refresh = refresh;
vm.search = search;
vm.sessions = [];
vm.title = 'Sessions';
////////////
function gotoSession() {
/* */
}
function refresh() {
/* */
}
function search() {
/* */
}
虽然这很干净,但它会带来一个问题。如果你的函数有参数怎么办?假设在上面的示例中,函数search
获得了一个查询:function search(str)
。为了能够做到这一点,他推荐的是:
function Sessions() {
var vm = this;
vm.search = search;
//////////
function search(str) {
}
问题是当你查看顶部vm.search = search
时,你不确定传递给函数的是什么,你需要向下滚动到函数function search(str)
才能找到答案。
有人可以为我扩展吗?
修改
我创建了an issue on the page,要求John自己回应这个问题。
答案 0 :(得分:0)
您的IDE应该能够处理它,或者您可以使用TypeScript's接口来保持类本身的“顶级”和干净的实现。
我建议使用Visual Studio(如果你也做c#/ asp.net的话)或者不推荐使用Web Storm。 Web Storm非常便宜,是网络工作的优秀编辑器。 Sublime也可能有一些插件。