Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在角中重用部分

如何在角中重用部分
EN

Stack Overflow用户
提问于 2015-11-20 03:08:36
回答 3查看 202关注 0票数 1

我正在创建一个表,其中每一行将由一个指令元素表示。对于大多数行,可以使用相同的通用指令,但有几行将具有非常特殊的信息,迫使我创建特定的指令。

我的表中的一行将类似于以下内容(但每个单元格中有更多信息):

\x{e76f}\x{e76f}名称/功能

我已经考虑过在不同的指令中使用ng-Include -模板,如下所示:

代码语言:javascript
运行
AI代码解释
复制
<tr><td ng-include="'name.html'"></td><td ng-include="'capablilites.html'"></td>
<td ng-include="'specialX.html'"></td><td ng-include="'general.html'"></td></tr>

但是ng-include指令创建了一个新的作用域,我可以不使用它。做这件事最聪明和最DRYest的方法是什么?欢迎所有建议。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-01-13 02:15:41

我最终选择的解决方法是使用一个基本指令,其中包含一个标准模板和一个带有所有标准函数的控制器。

我将基指令配置为转换内容并将其附加到特定元素(可以包含专门信息的td )。

我创建了几个扩展指令,这些指令包含自己的专用模板,包括按钮、输入字段或仅包含文本。除了部分之外,扩展还(在大多数情况下)包含自己的控制器,这些控制器可以对基指令作用域(覆盖方法和更改变量)进行更改。

我决定在基指令链接中使用自定义transclude函数,而不是使用ng transclude指令。这使得指令能够真正地共享范围,而不仅仅是通过$scope.$parent进行引用(避免了一些麻烦)。

最后,我的指令看起来非常简单和枯燥,可以用一个简单的:

代码语言:javascript
运行
AI代码解释
复制
<tr my-base-directive><my-extension></my-extension></tr>

我的挫折缓解链接功能:

代码语言:javascript
运行
AI代码解释
复制
link: function(scope, el, attrs, ctrl, transcludeFn) {
    transcludeFn( scope, function( clone ) {
        el.find('.append').append( clone );
    });
}

如果有人觉得“正确的答案”被欺骗了,我的需求在开发过程中会有所增长(一如既往),并且在发布问题后变得更加清晰。

票数 0
EN

Stack Overflow用户

发布于 2015-11-20 05:31:49

html

代码语言:javascript
运行
AI代码解释
复制
<tr ng-repeat="info in ctrl.infocollection">
  <specialized-info info="info"></specialized-info>
</tr>

指令

代码语言:javascript
运行
AI代码解释
复制
(function() {
    'use strict';

    angular
        .module('myModule')
        .directive('specializedInfo', specializedInfo);

    function specializedInfo() {

        var directive = {
            restrict: 'E',
            templateUrl: '/app/views/templatename.html',
            scope: {
                info: '=' //use @ in one way
            },
            controller : infoCtrl,
            controllerAs: 'vm',
            bindToController: true     

        };
        return directive;
    }


    function infoCtrl() {
        var vm = this;
        vm.properties....

        //some logic for template
     }
})();

在指令控制器中,可以根据传递的信息设置模板属性并进行适当绑定。

票数 1
EN

Stack Overflow用户

发布于 2015-11-20 05:39:04

我使用ngBindHTML$templateCache来实现这一点。

意见:

代码语言:javascript
运行
AI代码解释
复制
<tr><td ng-bind-html="nameTemplate"></td><td ng-bind-html="capabilitesTemplate"></td>
<td ng-bind-html="specialTemplate"></td><td ng-bind-html="generalTemplate"></td></tr>

控制员:

代码语言:javascript
运行
AI代码解释
复制
...
$scope.nameTemplate = $sanitize($templateCache.get('name.html'));
...

在将HTML绑定到视图之前,您可能需要对其进行净化,这就是我使用它的原因。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33825183

复制
相关文章
如何在 seaborn 中创建三角相关热图?
Seaborn是一个用于数据可视化的Python库。它在制作静态图时很有用。它建立在matplotlib之上,并与Pandas数据结构紧密集成。它提供了几个图来表示数据。在熊猫的帮助下,我们可以创造有吸引力的情节。在本教程中,我们将说明三个创建三角形热图的示例。最后,我们将学习如何使用 Seaborn 库来创建令人惊叹的信息丰富的热图。
很酷的站长
2023/08/11
3900
如何在 seaborn 中创建三角相关热图?
Mockito入门:如何在Spring中Mock部分对象
随着分布式应用的开发逐渐成为标配,多个微服务团队合作来完成垂直业务的开发成为了一种常态。微服务使得团队可以专注于自己的业务逻辑,在和下游依赖和上游对接的团队聚焦好接口之后,就进入正式的开发。但是,每个团队的开发节奏往往不同,下游依赖所提供的服务有些时候不能在自测的时候提供稳定的服务。不仅是多个团队,单个团队中每个人所负责的模块之间也会存在依赖关系,也就同样存在这样的问题。
眯眯眼的猫头鹰
2019/09/30
11.1K0
代码重用
c++的一个主要目标就是促进代码重用,缩短代码开发时间。其中继承就是实现该目标的机制之一。
艰默
2022/12/12
6290
【DB笔试面试511】如何在Oracle中写操作系统文件,如写日志?
可以利用UTL_FILE包,但是,在此之前,要注意设置好UTL_FILE_DIR初始化参数。
AiDBA宝典
2019/09/30
30.1K0
【DB笔试面试511】如何在Oracle中写操作系统文件,如写日志?
ASP.NET Core 中的 ObjectPool 对象重用(一)
对象池是一种设计模式,一个对象池包含一组已经初始化过且可以使用的对象,而可以在有需求时创建和销毁对象。池的对象可以从池中取得对象,对其进行操作处理,并在不需要时归还给池子而非直接销毁他,他是一种特殊的工厂对象。
HueiFeng
2020/01/22
1.3K0
ASP.NET Core 中的 ObjectPool 对象重用(一)
在Vue中创建可重用的 Transition
Vue.js中的transition确实很棒。 毫无疑问,它们可以非常轻松地让应用程序栩栩如生,但是通常必须在每个项目中从头开始编写它们,甚至还需要引入animate.css之类的CSS库来使它们功能更强大。
前端小智@大迁世界
2020/06/04
9.9K0
在Vue中创建可重用的 Transition
hadoop重用机制
启动一个新的JVM进程将耗时1秒左右,对于运行时间较长(比如1分钟以上)的job影响不大,但如果都是时间很短的task,那么频繁启停JVM会有开销。
许喜朝
2020/10/27
1.2K0
技术角 | 架构学习书摘总结(一)概念和基础部分
最近阅读了一本架构方面的入门图书叫《从零开始学架构:照着做,你也能成为架构师》,部分内容比较不错,先做书摘总结,以便加深印象与未来回顾学习。
ZNing
2020/05/13
8110
git命令中带有特殊符号如@
使用带用户密码clone的方式: git clone https://username:password@remote 当username和password中含有特殊符号会导致出错, 因为为http的请求,所以需要将特殊符号encode成url格式的 java使用: String c = java.net.URLEncoder.encode(".","utf-8"); System.out.println(c); 源文档 <http://blog.csdn.net/qq1142003960/article/
千往
2018/01/24
2.1K0
NFT 新手教程:如何在钱包中查看NFT(第3部分)
本教程是 NFT 教程系列的第 3 部分,本文了解如何查看新铸造的 NFT。试用于使用 MetaMask 查看的 ERC-721 代币一般性教程,包括在主网或任何测试网。如果想学习如何在以太坊上铸造自己的 NFT,应该查看第一部分:如何编写和部署 NFT 智能合约[4],及 第二部分:如何铸造一个 NFT[5]
Tiny熊
2022/05/25
2.3K0
NFT 新手教程:如何在钱包中查看NFT(第3部分)
ASP.NET Core 中的 ObjectPool 对象重用(二)
上一篇文章主要介绍了ObjectPool的理论知识,再来介绍一下Microsoft.Extensions.ObjectPool是如何实现的.
HueiFeng
2020/01/22
1.5K0
AI和机器学习获五角大楼”重用”,创建更强大的网络防御制度
国防高级研究计划局(DARPA)正在推行一项前所未有的机器学习“突破性”技术,即开创一种网络安全新技术,旨在同时阻止多重攻击并尽量阻止现有防御系统无法识别的新型攻击。
大数据文摘
2019/04/26
4370
AI和机器学习获五角大楼”重用”,创建更强大的网络防御制度
“前.NET Core时代”如何实现跨平台代码重用 ——程序集重用
除了在源代码层面实现共享(“前.NET Core时代”如何实现跨平台代码重用 ——源文件重用)之外,我们还可以跨平台共享同一个程序集,这种独立于具体平台的“中性”程序集通过创建一种名为“可移植类库(PCL: Portable Class Library)”项目来实现。为了让读者朋友们对PCL的实现机制具有充分的认识,我们先来讨论一个被我称为“程序集动态绑定”的话题。 目录 一、何谓程序集动态绑定? 二、程序集一致性 三、程序集重定向 四、类型的转移 五、可移植类库(PCL) 一、何谓程序集动态绑定? 我
蒋金楠
2018/01/15
1.3K0
“前.NET Core时代”如何实现跨平台代码重用 ——程序集重用
【Mockplus教程】收藏和重用
1. 制作模板 选择需要制作为模板的页面,鼠标右击,弹出的菜单中选择“加入到模板收藏”,然后选择相应 的模板库,如果没有模板库会提示新建一个。 加入成功之后会在左边模板收藏栏中看到模板页面的缩略
奔跑的小鹿
2018/03/15
6430
【Mockplus教程】收藏和重用
代码质量--可重用代码
可重用的代码可以减少重复劳动。一个软件中,会有很多类似的业务场景。将这些场景抽象成可重用的代码。开发新功能时,重用代码可减少重复劳动。
FunTester
2023/08/04
1840
代码质量--可重用代码
Gafgyt重用Mirai代码分析
Gafgyt(又名Bashlite)是著名的恶意软件家族,主要针对物联网设备发起攻击,例如华为路由器、Realtek 路由器和华硕网络设备等。Gafgyt 还使用很多漏洞(CVE-2017-17215、CVE-2018-10561)用于载荷投递。
FB客服
2021/07/27
1.1K0
Gafgyt重用Mirai代码分析
重用Session提高https性能
  HTTPS的主要缺点是需要设置连接,每次新的TLS连续都需要握手,以便创建共享的加密密钥,这个握手过程在标准TCP的握手过程之上还需要两个额外的来回过程,用这样一个高延时的连接,在网站第一个字节传输之前需要三个来回就让人感觉这个网站有点慢。
物流IT圈
2019/07/16
1.6K0
UITableViewCell的重用机制原理
每当有一个cell从屏幕消失,就将其放到缓存池中,如果有新的cell出现,就去缓存池中取,如果缓存池中没有,再创建。
赵哥窟
2018/11/07
1.9K0
端口地址重用问题
tcp/ip端口可以设置端口重用,端口重用后,客户端同时连接两个端口,接受来自两个端口的数据
sofu456
2022/06/05
7350
端口地址重用问题
点击加载更多

相似问题

在角中重用部分和控制器

12

Shopify:如何在部分中重用组件?

13

如何在模板中重用刀片部分

16

如何在Oracle中重用SQL代码部分

37

如何重用WordPress站点的部分,如页眉、页脚、部分页眉,用于多个WordPress站点?

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档