这可能是一个简单的问题,但很难查找...评估在Javascript中的字符串表达式角
我有一个按钮上的文字改变基于一些条件:
<button>{{buttonText()}}</button>
<script>
$scope.buttonText = function() {
if (condition) {
return "Here is {{otherVar}}";
} else {
return "Nope!";
}
}
</script>
当然该按钮会显示“Here is {{otherVar}}”,而不会将otherVar
解析到表达式中。有没有一种方法来角度评估js字符串?
整个字符串被从CMS过去了,所以我不能只是做return "Here is" + otherVar;
我正在寻找类似return angularEval("Here is {{otherVar}}");
瓦你不能在JS中的字符串中添加实际的'otherVar'而不是使用类似angularEval的东西? –
你不能用这种方式评估表达式;角表达式在控制器中只有上下文绑定的上下文(它们的具体'$ scope'实例)。将表达式保存到数据库没有任何意义,因为没有办法知道该表达式将在相同的控制器上进行评估,并且定义了相同的变量。 – Claies
我明白了。该字符串保存在数据库中,以便客户端可以在CMS中对其进行翻译:对于英语,“这是{{otherVar}}”,对德语是“Hier ist {{otherVar}}”。 – Keith