javascript - 初学者 angularjs - 在指令中包含指令

标签 javascript angularjs angularjs-directive

这可能是最基本的。我有一些简单的标记,应该代表一个列表:

<unordered-list>
    <list-item></list-item>
    <list-item></list-item>
</unordered-list>

我还为 unordered-list 定义了两个指令和list-item :

.directive('unorderedList', function() {
    return {
        restrict: 'E',
        replace: true,
        template: '<ul></ul>'
    };
})
.directive('listItem', function() {
    return {
        restrict: 'E',
        replace: true,
        template: '<li>Test</li>'
    }
});

然而,当我运行这个( http://jsfiddle.net/esWUD/ )时,唯一呈现的是 <ul> 。 。否<li>Test</li>元素在 <ul> 内渲染.

为什么不渲染?

最佳答案

您需要使用ngTransclude允许指令有子元素。在 unorderedList 中设置 transinclude: true

    transclude: true,
    template: '<ul ng-transclude></ul>'

工作中fiddle .

关于javascript - 初学者 angularjs - 在指令中包含指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21995292/

相关文章:

javascript - 如何从两个不同的页面引用弹出窗口?

javascript - Angular promise 不起作用

javascript - angular.js 和 node.js 应用程序的文件夹结构

angularjs - 为什么我从ng-show =“!emptyArray”和ng-hide =“emptyArray”得到不同的结果?

javascript - 想要扩展原型(prototype)方法

javascript - 我无法检测到错误。为什么第三和第四(else if)不起作用

javascript - 将 vue-gtm(谷歌标签管理器)附加到 Router 实例

angularjs - 什么是 Angular 的双向数据绑定(bind)

angularjs - 获取输入的 ngModelController

Angular 2/4 : How to check length of input's value using directive?