动态模板取决于下拉用户选择

时间:2015-02-17 08:18:27

标签: angularjs angularjs-directive angularjs-scope angularjs-ng-include

尝试使用应根据用户选择而改变的动态模板。

所以当选择下拉选项时,再加载另一个html模板。

我喜欢干净利落地以模块化方式使用可以单独测试的控制器。

我一直在读这个 https://coderwall.com/p/onjxng/angular-directives-using-a-dynamic-template

其他包括使用 ng-include加载模板

任何人都知道更好的实施方式吗?

1 个答案:

答案 0 :(得分:0)

您可以在指令中使用$ templateCache和$ compile。这并不总是一种更好的方式,取决于你想要达到的目标。

link: function (scope, element, attrs) {
    $templateCache.get('yourtemplate.html').then(function(tmpl) {
        element.html(tmpl);
        $compile(element.contents())(scope);
    });
}

您明白了这一点:您还可以使用指令作为其他指令的代理,方法是不使用$ templateCache并直接向您的元素添加另一个指令的标记(并对其进行编译)。