在angular.js中通过作用域变量显示或追加元素
display or append element via scope variable in angular.js
我是Angular.js的新手,这就是为什么这个问题可能是一个非常基本的问题,但我想知道如何通过$scope
显示元素。非常简单:
<div id="view" ng-controller="images">{{ image }}</div>
和
function images($scope) {
$scope.image = '<img src="img/file.png">';
}
在本例中,将只以字符串的形式显示图像标记。显然可以
<div id="view" ng-controller="images"><img src="{{ image }}"></div>
并使用源作为变量
$scope.image = 'img/file.png';
但那不是我要找的。是否可以将元素显示为DOM元素,而不是字符串
你可以使用一个指令(基本上是一个模板)来做你想做的。
你有你的app,你的控制器和你的指令:
angular.module('myApp', [])
.controller('ImagesController', function($scope) {
$scope.image = '/url/to/my/img.png';
})
.directive('showImage', function() {
return {
restrict: 'AE',
replace: 'true',
templates: '<img ng-src="{{ image }}">'
};
})
然后在你的HTML中你应该这样写:
<html ng-app="myApp">
<body>
<div id="view" ng-controller="ImagesController">
<show-image></show-image>
</div>
</body>
</html>
然后将 <show-image
替换为指令中的模板,<img ng-src="{{ image }}">
根据doc https://docs.angularjs.org/api/ng/directive/ngBindHtml
必须绑定为HTML
<div ng-bind-html="imagesafe"></div>
在你的控制器中你必须清理变量
App.controller('Ctrl', ['$scope', '$sce', function($scope, $sce) {
$scope.image = '<img src="img/file.png">';
$scope.imagesafe = $sce.trustAsHtml($scope.image);
}
相关文章:
- 单击“JavaScript显示变量”
- Cartodb信息窗口未在地图上显示变量
- 如何更新和显示变量
- 如果项目不匹配,则显示变量
- 在 HTML 中显示变量的好做法是什么?
- 在 Javascript 中,值不来,而是显示变量名称
- 缩短角度显示变量
- 如何使用Tinybox显示变量
- 在不同条件下显示变量的不同值
- console.log() 在变量值实际更改之前显示变量的更改值
- 引导程序引导盒在消息中显示变量
- 仅显示变量内的一段文本
- 我想使用 innerHTML 显示变量的值,但我的代码不起作用
- 使用带有按钮的JS函数来显示变量
- 无法使用车把正确在我的“模板”中显示变量.js
- 选中选择框选项时显示变量
- 如何使用显示变量url的iframe打开引导模式
- 我想显示变量'b[i]'而不是'x[i].childNodes[0].nodeValue'
- 数字框jeasyui没有显示变量中的值
- 如何在AngularJS网站中显示变量的名称