我有一个Helper.js
文件,基本上它是一个对象,其中包含围绕我的Backbone
应用程序使用的全局属性列表。
body
我需要在我的应用程序中使用它们之前设置其中一些属性Backbone
,我已经尝试过,但它不起作用:
<script type="text/javascript">
require(["app/helper"], function (Helper) {
console.log('default Helper.webroot = ' + Helper.webroot);
Helper.webroot = "<?php echo $this->webroot;?>";
console.log('require Helper.webroot = ' + Helper.webroot);
});
</script>
console:
default Helper.webroot = /
require Helper.webroot = /site.com/subfolder/
然后我在这个需求中加载一个定义模块:
<script type="text/javascript">
require(["app/models/status_message", "app/views/status_message"], function (StatusMessageModel, StatusMessageView) {
var StatusMessage = new StatusMessageView({
model:new StatusMessageModel({
icon : "<?php echo $icon;?>",
type : "<?php echo $message_type; ?>",
title : "<?php echo __('Informazione'); ?>",
message :"<?php echo __('Nessun messaggio di notifica'); ?>"
})
});
<?php if(!empty($message)) { ?>
StatusMessage.model.set({message:"<?php echo $message; ?>"});
<?php } ?>
});
在app/views/status_message
我尝试记录 Helper.webroot:
define([
"jquery",
"handlebars",
"lodash",
"helper",
"backbone",
"app/models/status_message",
"text!app/templates/status_message.php"
],
function ($, Handlebars, _, Helper, Backbone, StatusMessageModel, tmplStatusMessage) {
console.log('define Helper.webroot = ' + Helper.webroot);
return Backbone.View.extend({...});
}
);
console:
define Helper.webroot = /
所以我没有设置webroot
之前的Backbone
应用程序,我该怎么做?