我想我找到了一个介于文件模板和实时模板之间的用例。我想使用实时模板来提供它们提供的额外功能,但仍然能够访问文件创建时指定的参数,就像在文件模板中一样。让我更具体地说,假设我有以下文件模板,扩展名为“controller.js”:
angular.module('${Module_name}').controller('${NAME}Ctrl', function() {
});
现在,如果我使用此模板创建一个新文件,它将要求提供文件和模块名称。我分别输入“test”和“myModule”,这将创建一个“test.controller.js”文件,内容如下:
angular.module('myModule').controller('testCtrl', function () {
});
到目前为止一切顺利,但是如果我想让控制器名称成为名称的大写版本怎么办?或者让注射剂成为用户可以立即指定的参数,并立即在控制器定义中移动光标?实时模板可以很好地完成所有这些工作(想象一下相应地设置了变量):
angular.module('$moduleName$').controller('$controllerName$Ctrl', function($injectables$) {
$END$
});
...除了现在,没有办法访问 ${NAME} 参数。内置的 fileNameWithoutExtension() 函数几乎可以工作,但在这种情况下返回“test.controller”。
有没有办法解决这个问题?