纳克绑定-HTML我想显示在场景上一些HTML(一个男人或一个女人的图像),这取决于登录我的网站的人的性别。当我静态定义“imageToLoad”时,指令ng-bind-html起作用。但是,如果我的html绑定是由一个函数定义的,则它不起作用。AngularJS:因变量
控制台告诉我:类型错误:$ scope.getHtml不是一个函数
这里是我的简化代码:
HTML:
<div id="img-container" ng-controller="sceneCtrl" ng-bind-html="imgToLoad">
</div>
JS:
.controller('sceneCtrl', function($scope, $http, $sce){
/* This works
** $scope.imgToLoad = $sce.trustAsHtml('<img id="over2" src="imgMale.png"/>');
*/
$scope.imgToLoad=$scope.getHtml();
$scope.getHtml=function(){
var gender='male';
if(gender=='male'){
return $sce.trustAsHtml('<img id="over2" src="imgMale.png"/>');
}
else if(gender=='female'){
return $sce.trustAsHtml('<img id="over2" src="imgFemale.png"/>');
}
return 'error getHtml';
}
})
我用一个变量简化了JS,性别,但最终性别将由后端从数据库中提供。
根据我的研究,我可能不得不使用“编译”,但我不知道它是如何工作的。
感谢您的帮助!
您是否收到任何错误? –
尝试在下列行之前放置函数定义:$ scope.imgToLoad = $ scope.getHtml(); –