我可能极大地简化了指令的使用,但对我来说,指令中的templateUrl
似乎很像部分,因为你加载<directivename></directivename>
的可复用模板很像<%= render 'partial' %>
。
这是我在提出这个问题之前写的一个例子:
app.directive('filters', function() {
return {
restrict: 'E',
templateUrl: "../templates/product-filters-template.html"
}
});
app.directive('results', function() {
return {
restrict: 'E',
templateUrl: "../templates/product-results-template.html"
}
});
这与将一段ERB切割成_partial.html.erb文件完全相同。
指令是否以其他方式使用?
答案 0 :(得分:1)
使用指令来呈现相同的标记(与部分相同的概念)是一种用法,但它们也可以(并且在我有限的经验中更频繁地)用于控制元素的行为。从指令文档:
什么是指令? 在高级别,指令是DOM元素上的标记(例如属性,元素名称,注释或CSS类),它告诉AngularJS的HTML编译器($ compile)将指定的行为附加到该DOM元素,甚至转换DOM元素和它的孩子们。
例如,您可以使用指令来验证用户输入到输入元素。我强烈建议您阅读documentation指令。