解析包含AngularJS中的数据绑定的字符串

Rob*_*b B 6 javascript angularjs

我有一个后端渲染模板,它返回一个JSON对象,其中包含一个需要一些动态数据绑定的字符串,例如......

sampleLogic = {
  "1": "Sample static text and some {{ dynamic_text }}." 
}
Run Code Online (Sandbox Code Playgroud)

默认情况下,字符串是转义的,在angular中转换dynamic_text以绑定到$ scope.dynamic_text的最佳方法是什么?

JS:

 var sampleLogic = {
    "1": "Sample static text and some {{ dynamic_text }}."
};

function parseMe($scope) {
    $scope.copy = sampleLogic['1'];
    $scope.dynamic_text = "dynamic text woooot";
}
Run Code Online (Sandbox Code Playgroud)

HTML:

<div ng-app>
    <div ng-controller="parseMe">
        <div ng-bind-html-unsafe="copy"></div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

小提琴:http: //jsfiddle.net/RzPM3/

zs2*_*020 5

您可以使用$ interpolate模块并轻松实现这一点

var dynamic_text = {
    'dynamic_text': "dynamic text woooot"
};
$scope.copy = $interpolate(sampleLogic['1'])(dynamic_text);
Run Code Online (Sandbox Code Playgroud)

DEMO