0

我正在为导航栏使用带有角度的sidr( http://www.berriart.com/sidr/ )。sidr 所做的是复制我的导航栏的标记并将其放在包裹在其自定义 div 中的主体之前。

现在我在导航栏上定义了一个指令,看起来有点像这样<ul filter>....</ul>。由于 sidr 正在复制我的导航栏标记,因此我有 2 个带有过滤器指令的 ul。但是我的指令的链接函数只被调用一次,因为角度不知道该指令的另一次出现。

我的标记看起来像这样

            <ul class="side-nav nested-nav" filter>
                <li class="has-sub-menu" ng-repeat="filter in filters">
                    <a href="#" ng-bind="filter.label"></a>
                    <ul class="sub-menu" options>
                        <li ng-repeat="option in filter.options">
                            <a href="#" ng-bind="option.label"></a>
                        </li>
                    </ul>
                </li>
            </ul>

我的指令

angular.module('test')
    .directive('filter', function() {
        return {
            link: function($scope, iElement, iAttrs) {
                console.log('hello world!'):
            }
        }
    })

那么我如何告诉 angular 编译<ul filter>....</ul>由 sidr 添加的第二个以及何时?

4

1 回答 1

0

我还没有使用过这个 jQuery 插件。但是查看文档,它具有此回调功能:

    $('#callback-menu').sidr({
      name: 'sidr-callback',
      source: function(name) {
        return '<h1>' + name + ' menu</h1><p>Yes! You can use a callback too ;)</p>';
      }
    });

所以我想你可以把你自己的 html 模板放入源回调$compile中。

于 2013-09-25T16:08:52.260 回答