gpt4 book ai didi

javascript - 如何根据条件 append 指令

转载 作者:行者123 更新时间:2023-12-03 02:22:58 24 4
gpt4 key购买 nike

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

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

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

工作

controller.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);
}

};

不工作

controller.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 文件。类似这样的事情:

directive.html

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

directive.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 中控制它,而不是在 Controller 中处理逻辑,因为这样会更容易。

-----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-----

您可以从 Controller 中删除以下代码行

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);
}

关于javascript - 如何根据条件 append 指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49076299/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com