我有一个输入框,我需要加载输入中输入的网址。然后一旦点击按钮,我需要iframe来加载页面。我尝试在控制器中添加$ sce,如果只是硬编码,它就可以工作。这是我到目前为止的代码。
带按钮的输入框
<input type="text" class="form-control" id="basic-url" aria-describedby="basic-addon3" ng-model="url" />
<span class="input-group-btn">
<button class="btn btn-primary btn-lg" type="button" ng-click="go(url)">Go!</button>
</span>
控制器
app.controller('browser', [
'$scope',
'$http',
'contentService',
'arrayService',
'ngAudio',
'$sce',
function($scope, $http, contentService, arrayService, ngAudio, $sce) {
contentService.then(function(data) {
$scope.data = data; // access all data
$scope.links = $sce.trustAsResourceUrl("http://www.yelp.com/");
$scope.go = function(url){
$scope.links = url;
console.log('links', $scope.links);
return $scope.links;
};
});
}
]);
答案 0 :(得分:1)
我做了一个pen让你入门,我会根据需要更新。如果您可以提供iFrame的内容,我会更新。
function exampleCtrl() {
var vm = this;
vm.go = go;
vm.url = 'type here';
function go(url) {
console.log(url);
}
}
angular
.module('app', [])
.controller('exampleCtrl', exampleCtrl);
<div class="container" ng-app="app" ng-controller="exampleCtrl as vm">
<input type="text" ng-model="vm.url" />
<button ng-click="vm.go(vm.url)">Go!</button>
</div>