我想创建一个由多个部分组成的视图,这些部分将根据内容类型动态加载。我是angular.js的新手,我唯一的想法是在控制器中这样做:
$(elem).html(string_with_src);
$compile(elem.contents())($scope);
......它有效。问题是我想将部分源放在单独的文件中并通过jquery加载它们:
$.get(source.html, function( data ) {
elem.html( data );
$compile(elem.contents())($scope);
});
但这不起作用。该模板不是由angular.js编译的。 有人可以向我解释为什么它不起作用或如何做得更好?
答案 0 :(得分:2)
不要为此使用jQuery。
Angular提供了一个加载部分的指令:ng-include
:
<div ng-include="'/path/to/partial.html'"></div>
(注意双引号&#34;&#39;传递静态字符串时)
您还可以使用动态路径:
$scope.pathToPartial = "/path/to/partial/" + partialName + ".html";
<div ng-include="pathToPartial"></div>