【发布时间】:2014-07-21 11:55:32
【问题描述】:
每当进行查询时,我都会尝试使用 AngularJS 来更新我的 iframe。例如,进行查询,然后从数据库中检索嵌入链接。然后在 iframe 中使用该链接。然后显示标题和视频。到目前为止,这部分对我有用。但是,在第一次查询之后,当我进行另一个查询时,iframe 不会更新,但标题会更新,所以我知道查询工作正常,但是 iframe 有问题。如何更新我的 iframe?
如果我执行的搜索返回一个值,然后是具有多个结果的搜索,然后是具有单个结果的另一个搜索,则 iframe 确实会发生变化。它从第二个 div 变为第一个 div,然后返回到第二个 div。因此,如果有办法在单个搜索之间更改 div,则第二个 div 可以更新。有谁知道我该怎么做?
<div ng-if="things.length>1">
<div ng-repeat="thing in things">
<li><a <a href="{{ thing.name }}">{{ thing.name }} </a></li>
</div>
</div>
<div ng-if="things.length==1" class="col-sm-4 col-sm-offset-4">
<h1> {{ things[0].name }} </h1>
<iframe width="560" height="315" ng-src="{{ things[0].embed }}" frameborder="0"allowfullscreen></iframe>
</div>
编辑 这是我的 control.js。
var coreControl = angular.module('myCore', []);
function mainController ($scope, $http, $sce) {
$scope.formData = {};
$scope.things = [];
$http.get('/*')
.success(function(data) {
$scope.things = data;
console.log(data);
})
.error(function(data) {
console.log('Error: ' + data);
});
$scope.search = function() {
$http.post('*', $scope.formData)
.success(function(data) {
$scope.formData = {};
$scope.things = data;
$scope.things[0].embed = $sce.trustAsResourceUrl($scope.things[0].embed);
console.log(data);
})
.error(function(data) {
console.log('Error: ' + data);
});
};
}
另一个更新:已解决
【问题讨论】:
-
冠军为解决这个问题!感谢您发布解决方案。
-
哈哈。感谢您的帮助!
标签: javascript jquery html angularjs iframe