AngularJS 错误:指令“XXXXXX”的模板必须只有一个根元素

2023-11-30

这是后续这个问题.

我正在尝试构建和 HTML<table>与多个<tr>行。我希望其中一些行由我的指令呈现myDirectiveA以及其他由我的指令“myDirectiveB”呈现的内容。

您可以在下面看到我的文件的样子。如果只有一个,一切正常<tr>文件中的行path/to/myDirectiveA.template.html。但是当我在那里添加另一行时,我收到以下错误:

`angular.js:13920 Error: [$compile:tplrt] Template for directive 'myDirectiveA' must have exactly one root element. path/to/myDirectiveA.template.html`

好的,如果我只允许在该模板文件中包含一个根元素,那么如何使用来自各种指令的多行来构造我的表呢?其他人如何解决这个看似常见的用例?

这是我的文件:

主要.html:

<div ng-controller="MainCtrl as mainCtrl">
  <table width="40%" border="1">
    <tbody>
      <tr my-directive-a a="mainCtrl.a"></tr>
    </tbody>
  </table>
</div>

app.js:

myApp.directive('myDirectiveA',function(){
  return {
    'replace': true,
    'restrict': 'A',
    'scope': {
      'a': '='
    },
    'controller': 'MyDirectiveACtrl',
    'controllerAs': 'MyDirectiveACtrl',
    'bindToController': true,
    'templateUrl': "path/to/myDirectiveA.template.html"
  };
});


myApp.controller('MyDirectiveACtrl', function($scope){
    var self = this;
    $scope.$watch(function() {return {'a': self.a};}, function (objVal) {},true);
  }
);

路径/to/myDirectiveA.template.html:

<tr>
    <td bgcolor='#7cfc00'>MyDirectiveACtrl.a.b</td>
    <td bgcolor='#ff1493'>{{MyDirectiveACtrl.a.b}}</td>
</tr>

在应用程序中使用它

<table width="40%" border="1">
  <tbody  my-directive-a a="mainCtrl.a">
  </tbody>
</table>

这在指令模板中

<tbody>
<tr>
    <td bgcolor='#7cfc00'>MyDirectiveACtrl.a.b</td>
    <td bgcolor='#ff1493'>{{MyDirectiveACtrl.a.b}}</td>
</tr>
<tr>
    <td bgcolor='#7cfc00'>MyDirectiveACtrl.a.b</td>
    <td bgcolor='#ff1493'>{{MyDirectiveACtrl.a.b}}</td>
</tr>
</tbody>

它允许您在指令中只有一个根元素,并在其中添加多个 TR。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AngularJS 错误:指令“XXXXXX”的模板必须只有一个根元素 的相关文章

随机推荐

  • Azure DevOps 托管代理 - 将工具(PS 模块)添加到代理

    我想知道是否有一种简单的方法可以将额外的工具合并到默认的 Microsoft 托管代理池之一 特别是 VS2017 中 基本上 我想添加一些默认情况下未安装的额外 ARM powershell 模块 因为仅安装了核心模块集 即我希望利用一些
  • 查询以检查图中是否存在仅访问一次边的循环

    如何编写在我的图上运行的查询 如果没有路径仅穿过每个边一次并返回到起点 则输出 假 我正在使用以下示例图 g TinkerGraph open traversal g addV property id blue as b addV prop
  • 如何从 CSR 创建自签名代码签名证书?

    标题说明了一切 我能找到的所有文章要么是关于生成自签名 SSL 证书 要么是不考虑 CSR 我的要求很简单 生成一个自签名代码签名证书 我可以将其与 CSR 中的signtool exe 一起使用以进行测试 我希望这个问题是重复的 但我找不
  • jsp中如何进行子字符串化?

    有没有一种方法可以使用 struts2 技术在 JSP 文件中进行子字符串化 我的意思是 struts2有自己的taglib并且也使用ognl 如何从堆叠值或 bean 值中获取子字符串 http java sun com products
  • 一个 API 代理调用两个不同的目标端点

    我刚刚开始使用 Apigee 我想创建一个 API 代理 它将根据 if 条件调用两个目标端点 我已经创建了一个 API 并向其中添加了资源 但问题是在这种情况下我得到了两个 API 如果type abc 目标点应该是target1 如果
  • 伪造 RS232 串口

    我正在开发一个项目 其中有许多硬件传感器通过 RS232 串行端口连接到部署机器 但是 我正在一台没有物理 RS 232 串行端口的机器上进行开发 但我想制作一个可以连接并输出数据的假串行端口 目的是伪造来自硬件传感器的输入 有谁知道在 W
  • 如何以编程方式从证书中提取信息?

    我已经生成了一个证书 但我希望能够从证书中提取信息 例如国家 地区 有效性 公钥等 我必须将从证书中检索到的信息与我存储在 C 程序中的其他信息进行比较 我知道如果我使用这样的函数 它会打印证书信息 void print certifica
  • 使用 PHP 删除 url

    我只想删除锚标记和实际网址 例如 a href http www example com test www example com a 会成为test Thanks 我经常使用 string preg replace
  • 打开一个新选项卡/窗口并向其中写入一些内容?

    我在用着执行JS在 Firefox 中编写和测试 Javascript 代码 我想打开一个新选项卡 窗口并向其写入一些内容 我尝试过 var wm Components classes mozilla org appshell window
  • Swift for-in 循环与枚举自定义 Array2D 类?

    我将如何实现一个自定义枚举函数来实现这样的功能 Swift 2 for column row item in Array2D enumerate 在我的简单 Array2D 结构中 struct Array2D
  • 等到jquery ajax请求列表完成? [复制]

    这个问题在这里已经有答案了 和这个问题几乎是一样的 等到所有 jQuery Ajax 请求完成 但我的问题是改进 我正在执行许多 ajax 请求 并将它们保存在一个数组中 var events for var i 0 i lt 10 i e
  • Bot 框架 - IDialogStack.PollAsync 在 3.5.0 后已弃用

    我正在查看 Bot 构建器示例存储库中的 core CreateNewConversation 示例 https github com Microsoft BotBuilder Samples IDialogStack 上有一个名为 Pol
  • 如何在 php 中循环访问一组 GET 值

    我正在制作一个简单的在线商店之类的程序 您建议我做什么 以便我可以循环遍历我在程序中所做的输入 我仍在使用 get 以便我可以看到数据的样子 我将更改它以稍后发布 当我承诺购买购物车中添加的所有产品时 网址如下所示 http localho
  • System.MissingMethodException:反序列化 json 数组时出错

    我在反序列化 jsonString 时遇到错误 错误是Type oodleListingsUser is not supported for deserialization of an array 我的反序列化代码是 string json
  • 将 VSCode 安装到特定文件夹中

    我刚刚下载了 Visual Studio Code 应用程序https code visualstudio com 当我尝试安装它时 它只是自行安装 没有更改安装路径的选项 我有一个外部硬盘驱动器 我希望在其中放置 IDE 而不是本地硬盘驱
  • 如果移除 DOM 元素,其侦听器是否也会从内存中移除?

    如果 DOM 元素被删除 它的监听器是否也会从内存中删除 现代浏览器 纯 JavaScript 如果被删除的 DOM 元素是无引用的 没有引用指向它 那么yes 元素本身由垃圾收集器以及与其关联的任何事件处理程序 侦听器拾取 var a d
  • Selenium WebDriver 将 Firefox 路径更改为 Tor

    我正在尝试更改 ruby 中的网络驱动程序以打开 Tor 浏览器而不是默认的 Firefox 浏览器 我正在使用以下代码 并且在运行此代码之前打开了 Tor 浏览器 path C Users Bonnnie Downloads Tor Br
  • 是否可以使用 Omnifaces #{of:setToList} 创建可编辑数据表

    我正在尝试创建一个可编辑的数据表 其值为java util Set 但在 JSF 2 0 和 2 1 中这是不可能的 如中所述在 Datatable JSF 中显示 Set 集合中的对象不起作用 到目前为止 作为解决方案 所有集都转换为ja
  • 我的 UIButton 的位置在所有模拟器中都不同

    我在一个项目下 我使用代码 不是通过故事板 在视图控制器的底部创建了一个 uibutton 但是当我运行我的应用程序时 我的 uibutton 放置在不同的位置 例如在 iphone 5 6 模拟器中某个位置 在 4s 中 ipad 模拟器
  • AngularJS 错误:指令“XXXXXX”的模板必须只有一个根元素

    这是后续这个问题 我正在尝试构建和 HTML table 与多个 tr 行 我希望其中一些行由我的指令呈现myDirectiveA以及其他由我的指令 myDirectiveB 呈现的内容 您可以在下面看到我的文件的样子 如果只有一个 一切正