這可能是一個簡單的問題,但很難查找...評估在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