如何根据条件附加指令

2023-12-21

我有两个不同的指令。第一个返回带有实时视频的 iframe,第二个返回带有最近视频的 iframe。

条件是:如果存在实时内容,则附加实时指令,否则附加最近的视频指令。

我尝试过使用普通 html 而不是指令,它可以工作,但是当我放置指令元素时,不幸的是它不起作用。

WORKING

控制器.js

function isLiveOn() {

    var liveIframe = '<h2>LIVE</h2>';
    var videoIframe = '<h2>VIDEO</h2>';

    if (vm.live.items[0] != undefined) {
        $('.iframe-container').append(liveIframe);
    } else {
        $('.iframe-container').append(videoIframe);
    }

};

不工作

控制器.js

function isLiveOn() {

    var liveIframe = '<live-iframe live="vm.live.items[0]"></live-iframe>';
    var videoIframe = '<last-video video="vm.activity.items[0]"></last-video>';

    if (vm.live.items[0] != undefined) {
        $('.iframe-container').append(liveIframe);
    } else {
        $('.iframe-container').append(videoIframe);
    }

};

每个指令都有自己的 html 和 js 文件。 像这样的东西:

指令.html

<div class="live">
    <iframe ng-src="{{getIframeSrc(live.id.videoId)}}"></iframe>
</div>
<div class="live-description">
    <h4>{{live.snippet.title}}</h4>
</div>

指令.js

app.directive('live', live);

live.$inject = ['$window'];

function live($window) {

    var directive = {
        link: link,
        restrict: 'EA',
        templateUrl: 'path',
        scope: {
            live: '='
        }
    };

    return directive;

    function link(scope, element, attrs) {
        scope.getIframeSrc = function(id) {
            return 'https://www.youtube.com/embed/' + id;
        };
    }
} 

所以我认为我可能缺少的指令存在一些问题。 任何帮助将不胜感激!


您可以在 UI 中控制它,而不是在控制器中处理逻辑,因为这样会更容易。

-----Other Html Codes-----
<live-iframe ng-if="vm.live.items[0]" live="vm.live.items[0]"></live-iframe>
<last-video ng-if="!vm.live.items[0]" video="vm.activity.items[0]"></last-video>
-----Other Html Codes-----

您可以从控制器中删除以下代码行

var liveIframe = '<live-iframe live="vm.live.items[0]"></live-iframe>';
var videoIframe = '<last-video video="vm.activity.items[0]"></last-video>';

if (vm.live.items[0] != undefined) {
    $('.iframe-container').append(liveIframe);
} else {
    $('.iframe-container').append(videoIframe);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何根据条件附加指令 的相关文章

  • Document.createElement("br") 不适用于多次调用appendChild

    HTML var x document createElement p var br1 document createElement br var br2 document createElement br var t5 document
  • ngRepeat 中的函数执行过于频繁

    我有三个tabs里面有不同的htmlng include 这些选项卡使用以下方式显示ng repeat 只有一个 HTML 模板包含函数调用 但它执行了 3 次 每个模板执行一次 ng repeat迭代 这里出了什么问题以及如何解决它 va
  • 如何从客户端设置 HTMLEditorExtender HTML

    我无法让它工作 这是我在另一个线程中找到的代码 但它对我不起作用 我得到 set content 不是函数 find set content whatever 这仍然有效吗 我还尝试设置它扩展的文本框的值 尝试设置两者的 InnerHtml
  • 数字和数字对象有什么区别?

    存储在普通变量中的数字有什么区别 var foo 5 和一个数字对象 var bar new Number 5 数字对象可以用来做什么 A Number对象包含一些有用的方法和属性 例如 数字对象方法 Method Description
  • 使用 jQuery 触发真实事件

    看来 jQuery 的trigger 仅运行与 jQuery 绑定的事件处理程序 我有一些使用本机浏览器事件绑定的模块 使用来自的代码https stackoverflow com a 2676527 https stackoverflow
  • 在 TypeScript 中迭代对象的键和值

    在纯 JavaScript 中 我们可以迭代对象属性和值 如下所示 const values Object keys obj map key gt obj key 在 TypeScript 中 此语法是错误的 因为 TS 编译器显示以下消息
  • 如何在 React 组件中使用 CDN

    我正在尝试使用基于 D3 构建的库 称为 Greuler 来动态渲染图形 它的 npm 包似乎已损坏 当我改用 Greuler CDN 时 index html 中的测试图终于起作用了 但是 我正在开发一个 React 应用程序 并且我希望
  • 如何从谷歌地图中的纬度和经度获取地址位置? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 所以我有纬度和经度就像44 4647452 and 7 3553838 我需要获得如下地址 米兰 意大利 str 肯尼迪 89 我怎样才能
  • 如何在点击时添加和删除活动类 - 角度方式

    我正在这样做 div class tiles div 控制器 scope select function item scope selected item scope isActive function item return scope
  • 如何让 jQuery 选择带有 . (句号)在他们的身份证件中?

    给定以下类和控制器操作方法 public School public Int32 ID get set publig String Name get set public Address Address get set public cla
  • 在网站的一次导航中仅显示一次弹出窗口

    我有一个使用 Laravel 创建的网站 我希望用户第一次访问我的网站时能够看到弹出窗口 我的意思是第一次 用户访问我网站上的任何页面 这是第一次 访问网站上的一些链接页面 现在 这些页面访问不是第一次 在同一选项卡中打开 facebook
  • 根据每个选项的值或 ID 过滤选择框

    我想使用jquery来过滤表单中的所有选择框 例如 在第一个选择框中 如果我选择 仅显示1 我想过滤所有选择元素中的所有选择选项 以隐藏值不包含 1 的任何选项 仅应显示带有 1 的产品值 如果选择 Filter 选项 则所有选择框的默认值
  • 如何在 blob 类型中使用 UTF-8?

    我必须通过 csv 文件导出表 csv 文件数据来自服务器 按 Blob 类型 Blob size 2067 type text csv async exportDocumentsByCsv this commonStore setLoad
  • 用 JavaScript 改变文本颜色?

    我想在单击按钮时更改标题的颜色 这是我的代码 但它不起作用 我不明白为什么不 var about function init about document getElementById about innerHTML about style
  • 如何检查浏览器中消失的元素?

    How can I inspect an element which disappears when my mouse moves away 我不知道它的 ID 类别或其他任何信息 但想检查它 我尝试过的解决方案 在控制台内运行 jQuer
  • 接近堆限制的无效标记压缩分配失败 - JavaScript 堆内存不足

    我正在使用 Angular 7 2 当我进入ng serve 我面临以下问题 致命错误 接近堆限制的无效标记压缩分配失败 JavaScript 堆内存不足 这意味着什么 我该如何解决这个问题 完整的错误消息是 FATAL ERROR Ine
  • React:设置 State 或设置 Prop 而无需重新渲染

    Problem 目前 我有一个LoginForm具有 成功 处理函数的组件handleOnSuccess 然后将其链接到父组件onTokenUpdate由 令牌更新 处理函数定义的属性handleUpdateToken 问题是setStat
  • 从选择控件 html 复制所选项目的文本

    我有一个带有预定义值的选择控件 我希望我的用户能够使用 CTRL C 复制所选项目的文本 我不希望他们能够更改项目的文本 只需用鼠标 键盘选择它 这是一个显示问题的小提琴 我无法选择所选项目的文本 http jsfiddle net 5C3
  • 是否可以在 ASP.NET Web API 和 SPA 中使用基于 cookie 的身份验证?

    我想创建基于 angularjs 前端和 ASP NET Web API 的 Web 应用程序 我需要创建安全 api 但我无法在将实施此 Web 应用程序的公司服务器上使用基于令牌的身份验证 是否可以对 SPA 和 ASP NET Web
  • 嵌套对象的 setState

    我有一个嵌套对象作为状态 并且在组件中有一个表单 我正在考虑每次用户在表单中输入某些内容时更新状态 并且为了避免为每个输入创建许多函数 我正在考虑使用 switch 创建单个函数 使用 switch 创建单一函数是个好主意吗 如何更新对象的

随机推荐

  • javascript电子邮件验证检查条件问题

    example
  • 如果数组中的所有值都相同,如何打印字符串

    我有一个保存数字的数组 int tarningar new int 5 当所有数字都相同时 我想打印 OK 例如与类似的东西system out println ok 我努力了if tarningar 1 tarningar 2 tarni
  • 使用 LINQ/扩展方法重复字符串[重复]

    这个问题在这里已经有答案了 只是我正在调查的好奇心 问题是 简单地重复 乘法 有人会说 字符串 字符n times 我知道有可枚举 重复为了这个目标 但我试图在没有它的情况下做到这一点 LINQ在这种情况下似乎毫无用处 因为在query l
  • 使用正则表达式提取文件名

    如果我只想匹配fileName i e in C Directory FileName cs 以某种方式忽略之前的一切FileName cs使用正则表达式 我该怎么做 我需要这个用于我正在开发的编译用户界面 无法使用编程语言 因为它只接受正
  • 如何修复 React Native 中的“找不到模块”.../template.config”错误

    我正在尝试使用 React Native 创建一个新应用程序react native init MyApp但我收到了这个错误 Downloading template Copying template error Error Cannot
  • UISearchbar 不区分大小写?

    在表视图中 我设置了 UISearchBar 设置委托并添加协议 当用户点击一个单词时 一切正常 除了 网球 的搜索与 网球 不同 如何使搜索栏成为不区分大小写的 UISearchBar 这是我的代码 我认为所有事情都会发生 void se
  • 在 Visual Studio 中使用 NumPy

    我下载了http pytools codeplex com http pytools codeplex com Visual Studio 的 Python 工具 以便我可以在 Visual Studio 中编写 Python 问题是当我尝
  • python 中文本的 n 元语法

    我之前的更新post https stackoverflow com questions 49064114 extracting n grams from tweets in python 进行一些更改 假设我有 100 条推文 在这些推文
  • Freemarker 内置换行功能

    在我的代码中 我使用 n 作为换行符 有人建议我需要避免 n 因为这对于不同的操作系统 UNIX Windows 和 MAC 来说是不同的 并且每个操作系统都会以不同的方式解释这个字符 虽然我看到了预期的行为 但任何人都可以建议 我们是否有
  • 使用 C# 解析 XLS 文件时出现问题

    好吧 让我们看看我是否能理解这一点 我写了一个程序来解析 Excel 文件 它运行得很好 我使用以下命令进入文件 string FileToConvert Server MapPath App Data CP ARFJN FLAG XLS
  • jquery-autocomplete 插件搜索

    有这个jquery 自动完成 https github com dyve jquery autocomplete插入 它允许您仅搜索确切的字符串 所以我们可以说这是数据 apple is good apple grows on tree t
  • 32 位和 64 位操作系统中的双字节大小

    有什么区别吗double http msdn microsoft com en us library system double aspx当我在 32 位和 64 位环境中运行我的应用程序时的大小 如果我没记错的话 32位环境中的doubl
  • 为多语言 ASP.NET MVC Web 应用程序设置 CurrentCulture 的最佳位置

    对于多语言 ASP NET MVC 3 Web 应用程序 我正在确定Thread CurrentThread CurrentCulture and Thread CurrentThread CurrentUICulture在控制器工厂上如下
  • 如何在 C++ (gcc) 中获得完全限定的函数名称,_排除_返回类型?

    这个问题 https stackoverflow com questions 6151558 displaying fully qualified name of the function描述了如何使用 PRETTY FUNCTION 获取
  • Django-taggit prefetch_相关

    我现在正在构建一个基本的时间记录应用程序 并且有一个使用 django taggit 的待办事项模型 我的 Todo 模型如下所示 class Todo models Model project models ForeignKey Proj
  • Maven 构建与依赖树不同

    我正在使用 Maven 3 构建一个具有 3 层的 java 应用程序 服务器 ejb 和 ui EJB项目依赖于Server项目 UI项目仅依赖于EJB 并为Server传递依赖提供排除 当 UI 项目构建为 war 时 服务器依赖项将被
  • NASM x86 使用 extern printf 打印整数

    我尝试在 x86 程序集中使用 printf 打印整数 对于格式字符串printf fmtstring vals 我已经存储了 d作为 fmtd 然后我将 1 放入 ax 将 2 放入 bx 将它们相加并希望使用调用 printf 打印结果
  • 变量扩展之间的排序

    对于这个非变量示例 int Func1 double Func2 void MyFunc int double int main MyFunc Func1 Func2 没有指定是否Func1 or Func2 首先计算 只是两者都必须在之前
  • R中计算多列并分组

    最后一个问题的答案帮助我理解了dplyr n 但我仍然无法应用于我试图解决的问题 所以 我在这里发布数据和实际问题 数据如下 finalCalledPartyNumber Call Day Call Date Block Answered
  • 如何根据条件附加指令

    我有两个不同的指令 第一个返回带有实时视频的 iframe 第二个返回带有最近视频的 iframe 条件是 如果存在实时内容 则附加实时指令 否则附加最近的视频指令 我尝试过使用普通 html 而不是指令 它可以工作 但是当我放置指令元素时