私は自分のBackbone.js app
中に最初CakePHP app
のアプリを書き、ページにアプリを直接書くことを避けようとしていjs/backbone/app.js
ますが、Backboneアプリを配置する場所に保存されている特定のファイルに対してそれを行います。
私の最初のテストは、テストを行うためだけにページ内にアプリを作成することによって行われました。問題は、モデルアプリにphpデータから取得したデフォルト値があることです。
:を含めない例を次に示します。app.js
<html>
<head>
<title>My app test</title>
<script type="text/javascript" src="js/backbone/backbone.min.js"></script>
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/underscore.min.js"></script>
<script type="text/javascript">
var Status = {
Models: {},
Collections: {},
Views: {},
Templates:{}
}
Status.Models.Message = Backbone.Model.extend({
defaults:{
icon:"<?php echo $this->App->icon('default-icon-name');?>",
type:"warning",
title:"<?php echo __('Default title'); ?>",
message:"<?php echo __('Default status message text'); ?>"
},
initialize:function () {
console.log("Backbone console message from initialize event");
}
});
// here the rest of the app
</script>
</head>
<body>
here is the app!
</body>
</html>
アプリを内部に移動しましたが、js/backbone/app.js
内部のページからモデルのデフォルトパラメータを渡す最も簡単な方法がわかりませんapp.js
。
これは、すべてのBackboneアプリをapp.js
:内に配置した例です。
$(function(){
$.ajax({
url: "http://site.com/json/default_app"
}).done(function(data) {
var Status = {
Models: {},
Collections: {},
Views: {},
Templates:{}
}
Status.Models.Message = Backbone.Model.extend({
defaults:data,
initialize:function () {
console.log("Backbone console message from initialize event");
}
});
});
})(jQuery);
たとえば、準備ができているドキュメント内にアプリを配置する必要がありjQuery
ますか?そうしないとController
、アプリ内に特定の機能を作成するCakePHP
必要があり、最新の状態に保つのが非常に面倒になります。