更清晰的定义Angular模板的方法

时间:2015-05-21 10:49:07

标签: javascript angularjs

考虑这段代码

my_app.run( [ '$templateCache' , function( $templateCache ) {
    var template = "" +
        "{{ item.name }}" +
        "<ul ng-if='item.sub'>" +
            "<li ng-repeat='item in item.sub' ng-include=\"'angular-multi-select-item.htm'\"></li>" +
        "</ul>" +
        "";
    $templateCache.put( 'angular-multi-select-item.htm' , template );
}]);

虽然这可以按预期工作,但我觉得它很丑陋(内部带有html的连接字符串)。是否有其他更干净的方法来定义Angular模板的html?

1 个答案:

答案 0 :(得分:2)

您对此有何看法?只需在工作目录中创建一个视图html视图文件,然后使用$http加载它。

$templateCache.put('angular-multi-select-item.htm', $http.get('views/template.html'));

您也可以尝试使用`ng-include? (documentation)并在主视图中添加包含:

<div ng-include="'views/template.html'"></div>