小编sha*_*lla的帖子

检测 AngularJS 指令中是否使用了可选的嵌入元素?

我有一个如下所示样式的指令;它允许可选的嵌入元素,例如示例中使用的<dir-header>和。<dir-footer>

\n\n

指令.js(部分)

\n\n
module.directive(\'dir\', function () {\n    return {\n        restrict: \'E\',\n        templateUrl: \'path/template.html\',\n        transclude: {\n            \'header\': \'?dirHeader\',\n            \'footer\': \'?dirFooter\'\n        },\n        link: function (scope, elem, attrs) {\n            // do something\n        }\n    };\n});\n
Run Code Online (Sandbox Code Playgroud)\n\n

模板.html

\n\n
<div ng-transclude="header">\n  <!-- Transcluded header will appear here -->\n</div>\n\n<div class="static-content">\n    Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n</div>\n\n<div ng-transclude="footer">\n    <!-- Transcluded footer will appear here -->\n</div>\n
Run Code Online (Sandbox Code Playgroud)\n\n

用法

\n\n
<dir>\n    <dir-header>My Header</dir-header>\n    <dir-footer>My Footer</dir-footer>\n</dir>\n
Run Code Online (Sandbox Code Playgroud)\n\n

根据我这里的内容,有没有办法检测是否<dir-header>正在使用?"My header"我可以从链接函数访问传递到其中的内容\xe2\x80\x94(在本例中为字符串\xe2\x80\x94)吗? …

angularjs angularjs-directive angularjs-ng-transclude

5
推荐指数
1
解决办法
1038
查看次数