我需要翻译值,这就是我编写函数的原因,我需要将角度值传递给php函数。
如php函数是
<?php bn_translate(); ?>
和角度js值是
{{ result.min_tenure }}
我试过这两种方式,但没有改变
<?php print bn_translate("{{ result.min_tenure }}"); ?>
and
{{ <?php print bn_translate("result.min_tenure") }}; ?>
或者如果我尝试了成功翻译的测试值
<?php print bn_translate("5"); ?> or <?php print bn_translate(5); ?>
是否可以将值传递给php函数才能正常工作?
答案 0 :(得分:0)
首先运行PHP,然后运行角度js。因此,您尝试将未来的变量(angular js)传递给过去调用的函数(PHP)。
您实际上是在要求PHP执行以下操作:
<?php bn_translate("null"); ?>
角度JS中的值尚不存在。
做你想做的事的唯一方法是通过AJAX将变量发送到带有该函数的php脚本。
答案 1 :(得分:0)
您将使用ajax调用将值从前端传递到后端,通常使用类似json的格式。但是,对于像翻译这样的东西,如果可能的话,你应该尽量避免往返服务器。好的解决方案是使用angular-gettext或angular-translate。
注入$ http 的 控制器
<强>的script.php 强> $http({
url: "script.php",
method: "POST",
data: {
data: result.min_tenure
}
}).success(function(translated) {
console.log(translated);
});
<?php
$request = json_decode( $_POST['data'] );
$text = $request->data
$translated = bn_translate($text)
echo (json_encode($text));
答案 2 :(得分:-1)
您可以为PHP变量赋值并传递给php函数
<?php
$value = "{{ result.min_tenure }}";
?>