gpt4 book ai didi

javascript - 加载 View 后运行脚本 AngularJS

转载 作者:搜寻专家 更新时间:2023-11-01 04:25:13 25 4
gpt4 key购买 nike

我是 AngularJS 的新手,我遇到了这个问题;

我用我 Controller 中的一个变量的 html 填充我的部分 View :

<div ng-bind-html="deliberatelyTrustDangerousSnippet()"></div>

一切顺利,直到我决定运行脚本。脚本已显示,但未运行。我认为问题是加载页面后 View 充满了我的变量 Controller ,因此脚本无法运行。我在我的 Controller 中使用变量来存储脚本的原因是我必须从其他地方获取脚本,并且它经常更改。

这是运行脚本的可行方法吗?

这是我的代码示例:

查看:

    <div ng-bind-html="deliberatelyTrustDangerousSnippet()"></div>

Controller :

    .controller('browseCtrl', function($scope,$sce) {

$scope.video = '<div id="idxx1" style="width: 460px; height: 290px;" itemprop="video" itemscope itemtype="http://schema.org/VideoObject"></div><script>addeere3ejs("idxx1", "172653", "24431581", "1_fq2w6oc2");</script>';

$scope.deliberatelyTrustDangerousSnippet = function() {
return $sce.trustAsHtml($scope.video);
};
})

如果我的问题不清楚,我会尝试更好地解释它。

最佳答案

您可以在 Controller 中使用 viewContentLoaded 事件。

$scope.$on('$viewContentLoaded', function(){
// Run after view loaded.
});

不确定 ng-bind-html 是否允许脚本像那样运行。您可能需要将其包裹在尖括号中以在加载时自动运行。

 <div ng-bind-html="{{deliberatelyTrustDangerousSnippet()}}"></div>

关于javascript - 加载 View 后运行脚本 AngularJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24045947/

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