【发布时间】:2018-01-25 16:56:12
【问题描述】:
我正在考虑将我们基于 MVC 的网站的前端分成几个组件,并且我正在考虑使用 Angular 来实现这个目的(例如,创建我可以在之后包含到我的视图中的购物车应用程序)。
问题是我需要将几个变量传递到该应用程序中,我想知道如何安全而专业地做到这一点。我正在考虑类似的事情:
- 我要去
ng build --prod --aot - 我将所有脚本都注入到我的视图中
- 我将传递给视图的变量注入到我的应用中
...和我的想法的“代码”表示:
控制器:
public function viewAction()
{
$this->view->addCss('angular/app/styles.css'); // adds styles for cart app
$this->view->addJS('angular/app/scripts.js'); // adds scripts for cart app
$this->view->setJSVariable('idCustomer', 555); // sets global var idCustomer
}
查看:
<!-- bunch of HTML for view ... -->
<script>
// CartApp would be an angular app.
CartApp.use([
idCustomer
]);
</script>
所以我的问题是......是否有可能(并且这是一个很好的解决方案)将CartApp 作为一个对象,然后创建一些函数(如上面示例中的use)来设置/传递数据? (比方说一些全球提供的服务/组件或其他任何东西)。或者有没有其他方法可以做到这一点?就像从窗口对象中获取应用程序内部的变量一样? (因为无论如何它们都会被绑定到窗口)。谢谢。
【问题讨论】:
标签: javascript angular typescript model-view-controller javascript-objects