我有 2 个与指令相关的问题。第一个问题涉及注入(inject)提供者。我使用了 AngularJS 网站上列出的编译指令示例。在该示例中,它指出创建一个模块,然后从该模块创建一个指令
// declare a new module, and inject the $compileProvider
angular.module('compile', [], function($compileProvider) {
// configure new 'compile' directive by passing a directive
// factory function. The factory function injects the '$compile'
$compileProvider.directive('compile', function($compile) {...
在我的应用程序中,我所做的就是像这样创建指令
myApp.directive('compile', function($compile) {...
我没有在代码中的任何地方引用 $compileProvider,但是我的代码仍然可以很好地工作并且编译模板。这是为什么?
此外,虽然它在编译模板时工作得很好,但除了当我编译“switch”语句时,它们似乎都工作。 “switch”语句似乎没有链接范围,所有其他元素编译都没有问题。这是否与我没有注入(inject) $compileProvider 有关,或者是否有 switch 语句在编译时需要额外的步骤?
谢谢 弗兰克
最佳答案
它可以很好地工作并编译模板,因为 module.directive
只是 $compileProvider.directive
的简写。 module.directive 的文档请您参阅$compileProvider.directive .
至于在指令中使用 switch
,您能否提供一个示例来说明如何执行此操作?根据您打开的内容和执行位置,您可能错误地定义了指令。例如,如果您要在指令回调内部进行切换,则它只会执行一次,因此只有一个 case
语句会获胜并仅创建 1 个指令。
关于angularjs - 指令 - AngularJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16472792/