将jquery和javascript脚本放在zend框架中的最佳位置在哪里?
我应该将每个脚本放在js文件中并附加到控制器中,如:
$ this-> view-> headScript() - > appendScript
还是留在phtml页面中?
答案 0 :(得分:2)
我说这取决于您的脚本,如果您的脚本链接到您的控制器,您可以将其包含在控制器的_init()
方法中。
我通常喜欢在我的视图中包含我的.js脚本(当它们只涉及一个独特的视图时),使用$this->jQuery()->addOnload()
来表示jQuery并且:
<?php $this->headScript()->appendFile('/js/user-list.js') ?>
<?php $this->headScript()->captureStart() ?>
site = {
baseUrl: "<?php echo $this->baseUrl() ?>"
};
<?php $this->headScript()->captureEnd() ?>
用于js脚本。 正如您在第二个示例中所看到的,使用captureStart()的一个真正优势是您可以使用PHP在Javascript中生成内容。例如,它对于翻译单词非常有用。
最后,你的bootstrap中的_initView()
方法是放置网站相对.js的好地方。
答案 1 :(得分:1)
initView
方法中。init()
方法中。这样客户端就不必下载比真正需要的更多的数据/文件。