我正在阅读这篇文章:http://icelab.com.au/articles/an-all-in-one-directive-controller-with-angularjs/
我认为在这个例子中使用带有ng-template的控制器会更好一些,因为我在这里看不到任何改变DOM的内容。
为什么作者使用指令?
如果您认为这是一种不好的做法,您能详细说明原因吗?
答案 0 :(得分:0)
这个想法是它完全模块化,可以很容易地包含在其他Angular应用程序中。重点是它充当了“小部件”。
尽管保持DOM操作包含在指令中是很好的(这是为了便于测试),但这并不意味着你不能制作非DOM相关的指令。事实上,拥有大型指令通常与UI无关。例如,处理本地存储或cookie的指令。
值得一提的是,必须首先从DOM中删除指令(通过属性,元素,类等)。这就是声明模型的概念。