2014-01-10 56 views
2

我们已经在角度js中使用ng-bind指令创建了div。我们无法样式属性应用到同一个div将style属性应用于角度js中的ng-bind指令

<div ng-bind-html="test"></div> 

在contrller文件中我定义的测试变量

$scope.test="<div style="background:red;"></div> 

我们需要应用的样式属性。使用CSS属性我能够做到。但每次都需要改变背景。

+0

你能告诉我们一个小提琴(角..假设和旧的是什么版本? – Nix

+0

修正你的控制器报价,然后再试一次。 – Stewie

回答

5

可能笏你想是这样的:

<div ng-style="{'background-color': bgColor}"></div> 

在控制器

$scope.bgColor = "red"; 
1

我不知道你想要什么,但唯一的问题与您的代码是哟Uneed公司ng-bind-html-unsafe ...假设您正在使用角度为< 1.2的版本。

ng-bind-html通过$sanitize服务运行代码,该服务检查不安全的代码。在你的例子中,我和“风格”将被删除。不安全的版本不会执行此检查,因此如果您在某些您没有完全控制的情况下(例如,所见即所得的编辑器保存到数据库并显示注释)使用它,您可能会有混乱的数据执行恶意操作脚本。

例拨弄:http://jsfiddle.net/pW7WY/

支持代码。

<div ng-app> 
    <div ng-controller="Ctrl"> 
     <div id="nick" ng-bind-html-unsafe="test"></div> 
    </div> 
</div> 


--js 
function Ctrl($scope) { 
    $scope.test='<div id="child" style="background:red;"></div>' 
} 

--css 
#nick{ 
    width: 300px; 
    height: 300px; 
} 
#child{ 
    width: 200px; 
    height: 200px;  
} 
+0

尼克斯感谢它的作品。 –

+0

可以请你告诉我什么是在不安全和ng-bind-html中的区别 –

+0

@ShardulPendse刚刚更新。 – Nix