从Rails到Angular:指令是否像Rails部分一样使用?

时间:2014-07-31 16:31:30

标签: angularjs

我可能极大地简化了指令的使用,但对我来说,指令中的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文件完全相同。

指令是否以其他方式使用?

1 个答案:

答案 0 :(得分:1)

使用指令来呈现相同的标记(与部分相同的概念)是一种用法,但它们也可以(并且在我有限的经验中更频繁地)用于控制元素的行为。从指令文档:

  

什么是指令?   在高级别,指令是DOM元素上的标记(例如属性,元素名称,注释或CSS类),它告诉AngularJS的HTML编译器($ compile)将指定的行为附加到该DOM元素,甚至转换DOM元素和它的孩子们。

例如,您可以使用指令来验证用户输入到输入元素。我强烈建议您阅读documentation指令。