4

我是 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并希望为该用户显示适当的模板。

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

4

2 回答 2

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>

普朗克

于 2013-04-24T16:27:59.820 回答
3

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

Angular 的方式是通过 javascript 对象(在范围内)来表示视图,并让 Angular 模板系统来反映您的模型。

于 2013-04-24T09:09:47.417 回答