如何动态地将自定义指令添加到div元素?

时间:2013-04-24 06:09:35

标签: angularjs angularjs-directive

我是angularjs的初学者,请放轻松我。所以我有这个指令,并想动态地将它附加到div元素。我该怎么办?

appDirectives.directive('test', function () {
    return  {
        restrict: 'E',
        templateUrl: 'templates/test.html'
    }
});

我尝试了这个,但它没有用。我假设模板没有在我附加到div元素之前编译。是否有一种有角度的方式来做到这一点?

<div id="element"></div>

$('#element').append(<test></test>);

更新:以下是我要做的事情。当用户登录我的页面时,我有3个不同的模板,我希望它显示取决于用户的类型。 3个模板是<basic>, <regular>, <advance> 基本上在用户登录后,我将获得变量user.type的值,并希望为该用户显示相应的模板。

任何建议都会有所帮助。谢谢:))

2 个答案:

答案 0 :(得分:3)

这样的事,可能是? http://plnkr.co/edit/SmL9fA5GzAxI2WYTnYZy

Angular方式是用javascript对象表示视图(在范围内)  并让Angular模板系统重新修改你的模型。

答案 1 :(得分:3)

ng-switch可能就是你想要的:

<div id="element" ng-switch on="user.type">
  <span ng-switch-when="basic"><basic></basic></span>
  <span ng-switch-when="regular"><regular></regular></span>
  <span ng-switch-when="advance"><advance></advance></span>
</div>

Plunker