简单的指令就像绑定表达式一样工作

时间:2016-03-24 11:44:35

标签: angularjs angularjs-directive

我要做的是创建以下标记:

<current-user />

此指令应该只是注入当前用户的用户名,就像绑定表达式{{currentUser.name}}

一样

这是我所拥有的,但我在caret的最后丢失了我的span标记:

HTML:

<a href="" class="dropdown-toggle" data-toggle="dropdown">
  <i class="fa fa-user"></i> 
  <current-user /> 
  <span class="caret"></span>
</a>

使用Javascript:

app.directive('currentUser', function ($rootScope, auth) {
    return {
        restrict: 'E',
        transclude: true,
        compile: function (elem) {
            $rootScope.$watch('auth.profile', function (profile) {
                if (profile) {
                    elem.html(profile.email);
                }
            });
        }
    }
});

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:1)

这是一个known issue,包含一些浏览器。

使用非自我关闭指令来解决问题。

  <a href="" class="dropdown-toggle" data-toggle="dropdown">
    <i class="fa fa-user"></i>
    <current-user></current-user>
    <span class="caret">Test</span>
  </a>

Working Demo