angularjs如何正确地发送 php 变量通过 ng-click 参数

标签: PHP AngularJS
发布时间: 2017/4/16 1:27:01
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

目前我正想发送日期和时间从 php 到我角控制器通过使用 ng-click

$time is a date
$today is a datetime

有人能解释我为什么这会奏效吗

<button ng-click="getClickInfo('<?php echo $time; ?>', '<?php echo $today; ?>')";</button>

但当我尝试实现内回声这样相同的结果,它给了我不同的和不正确的输出

<?php echo '<button ng-click="getClickInfo(' . $time . ', ' . $today . ')";></button>'; ?>

我试着搜索互联网的解决方案,但我真的找不到关于它的话题。希望有人可以解释我在这种情况下发生了什么。重定向到任何关于这个主题的文章会对我来说非常有帮助。

输出︰

01:00 // incorrect output
01/01/1970 // incorrect output

20.30 // desired output
22-04-2016 // desired output

解决方法 1:

你要引用的 javascript 函数参数,否则,你得到了不可预知的结果 ctach 这里是 HTML ng-click 属性必须括在双引号中,(你的函数) 的属性值不能包含双引号,因为它会破坏 HTML

此外, ; 不是需要的你把它外面 ng-click HTML 属性值不是有效的 HTML

这里是一个修复程序,请注意,引用与 PHP 字符串中的反斜杠转义︰

<?php echo '<button ng-click="getClickInfo(\'' . $time . '\', \'' . $today . '\')"></button>' ?>

这里有一个更具可读性的方法去做,我会推荐这种方法︰

<?php echo '<button ng-click="getClickInfo(' . "'$time', '$today'" . ')";></button>' ?>
官方微信
官方QQ群
31647020