AngularJS ng--除非在$Scope中传递,否则不包含视图

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (21)

假设ngInclude能走一条生路吗?我一直在努力把我的ngInclude详情如下:

<div ng-include src="views/header.html"></div>

这不起作用,但如果我这样做,它就会起作用。

// HeaderController
app.controller('HeaderCtrl', function($scope){
   $scope.templates = {[
     template: { url: 'views/header.html' }
   ]};

   $scope.template = $scope.templates[0].template;
});

在我的index.html中

<div ng-controller="HeaderCtrl">
  <div ng-include src="template.url"></div>
</div>

是吗?ngInclude只是除了范围之外的值?如果是这样的话,为什么它是这样的,而不是直接包含html部分。

提问于
用户回答回答于

如果想直接在其中指定显式URL,则必须给出一个字符串。

<div ng-include src="'page.html'"></div>
用户回答回答于

注意,不必指定src属性。

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

可重写为:

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

还可以将ng-include用作元素:

<ng-include src="'views/header.html'"></ng-include>

扫码关注云+社区