Laravel / Angular:将php页面中的数据传递给angularjs

时间:2014-06-20 12:42:17

标签: php angularjs laravel-4

我有以下laravel html / blade页面,我想传入一个 storeid 然后可以通过angular拾取然后用来获取并做一些工作。

以下是我现在如何完成它但是有更好的方法来制作它吗?

Blade Partial

<div ng-controller="storeChartCtrl" data-storeid="{{ $store['id'] }}">
    <p>{{ $store['name'] }} Sales</p>
    ...
</div>

Angular Ctrl

.controller('storeChartCtrl', ['$scope', 'Store', function($scope, Store){
    //-- get the requested store sales
    var storeid = JQ('#storeChart').data('storeid');

    $log.info(storeid);
    ....

这当前有效,我得到了我的商店价值,所以我可以发送到工厂获取数据。

2 个答案:

答案 0 :(得分:3)

当使用Angular(甚至只是jQuery)时,我感谢@JeffreyWay这个包:

https://github.com/laracasts/PHP-Vars-To-Js-Transformer

答案 1 :(得分:2)

最终,您正在从服务器渲染HTML页面并嵌入某些数据;您可以在HTML中嵌入数据,也可以在页面中“渲染”一个充满数据的对象,如下所示:

<?php
$value = "Hello";
$bob = "Bob";

// template code

<script type="text/javascript">
myData = {             // make it global for easy access
    blah: $value,
    alice: $bob
};
</script>
?>

然后在Angular控制器中,您可以在纯JS中访问该数据,而无需处理数据属性。

.controller('storeChartCtrl', ['$scope', 'Store', function($scope, Store){
    console.log(myData);
})]);
相关问题