Phascon在js文件中路由

时间:2015-07-20 11:57:18

标签: javascript php angularjs symfony phalcon

我想在js文件中使用phalcon的动态路由。

例如,我在js文件中有角度js代码,我需要填充从控制器操作 listAction (/ users / list)获得的对象列表,或者我需要推送更改为控制器操作的对象 saveAction (/ user / save)。

我不喜欢硬编码js文件中的路由,如

$http.get("http://localhost/sample/users/list").success(function(response){
//my code here
});

我想在js文件中使用phalcon的路由器,如下所示:

$http.get("{{ url('users/list')").success(function(response){
//my code here
});

现在我通过创建部分.volt文件并将所有与该视图相关的javascript放在那里来将javascript与控制器操作视图分开。

有更好的方法吗?有没有办法可以访问js文件中的phalcon路由器?我在Symfony中使用 FOSJsRoutingBundle 是否可以替代phalcon?

1 个答案:

答案 0 :(得分:1)

这是一个例子。

把块放在你的layout.volt:

<html>
<head>
  {% include 'js.volt' %}
  {% block js %}{% endblock %}
</head>
<body>
    <script>
      {% block include_js %}{% endblock %}
    </script>

    {% block content %}{% endblock %}
</body>
</html>

js.volt:

<script src="path/to/js/file.js"></script>

并在您的视图中(users / list.volt)执行:

{% extends 'layout.volt' %}

{% block js %}
   <script src="path/to/js/another/js/file.js"></script>
{% endblock %}

{% block include_js %}
  $http.get("{{ url('users/list')").success(function(response){
    //my code here
  });
{% endblock %}

{% block content %}
BLABLABLA
{% endblock %}