angularjs - 在 AngularJS 中创建数据模板

标签 angularjs datatemplate angularjs-ng-repeat

我的 $scope 中有一个产品列表。我的产品如下所示:

function myController($scope) {
  $scope.products = [
    { id:1, name:"hamburger", image:"/img/hamburger.png" },
    { id:2, name:"fries", image:"/img/fries.png" },
    { id:3, name:"hot dog", image:"/img/hotDog.png" }
    ...
  ];
}

我有一个名为 food.html 的文件。该文件如下所示:

<div>
  <div>{{name}}</div>
  <div><img ng-src="{{image}}" /></div>
</div>

我试图通过转发器在index.html中显示我的所有使用food.html呈现的产品的列表。我怎么做?目前,我有这样的东西:

<div ng-controller="myController">
  <div>Total Food Items: {{products.length}}</div>
  <div ng-repeat="product in products">
  </div>
</div>

我不知道如何使用 food.html 渲染每个产品。我该怎么做呢?谢谢!

最佳答案

如果您想使用 food.html 作为模板,请为其创建指令。

angular.module('MyApp').directive('foodDetail', function() {
return {
    restrict: 'A',
    template: '<div> <div>{{product.name}}</div> <div><img ng-src="{{product.image}}" /></div></div>',

    }
});

index.html 应该是

<div ng-controller="myController">
    <div>Total Food Items: {{products.length}}</div>
    <div ng-repeat="product in products">
    <div food-detail></div>
    </div>
</div>

关于angularjs - 在 AngularJS 中创建数据模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19451453/

相关文章:

javascript - 刷新 ng-repeat 即使没有任何改变

javascript - Angular ng-repeat 多重排序

javascript - $parsers 和 $formatters 只被调用一次,而不是在每次值更新时调用

angularjs - 使用管道 Angular 2 过滤对象数组

c# - 如何在 C# 代码中构建 DataTemplate?

c# - 过滤使用嵌套的 xaml 数据模板显示的分层对象

javascript - 如何在 AngularJs 中通过多个指令与隔离范围绑定(bind) ngModel?

angularjs - 如何将 SQLite 与 AngularJS 集成?

wpf - WPF中控件模板和DataTemplate的区别

javascript - 在另一个内部的 ng-repeat 中更新模型