mikoweb / symfony-backbone-bundle
该包已被 废弃 并不再维护。未建议替代包。
0.2.2
2016-04-23 13:52 UTC
Requires
- php: >=5.4.0
- symfony/form: ~2.3
- symfony/framework-bundle: ~2.3
This package is not auto-updated.
Last update: 2016-12-31 08:52:10 UTC
README
将此包添加到您的 composer.json
文件中
require: { "mikoweb/symfony-backbone-bundle": "~0.2" }
在您的内核中注册此包
// in AppKernel::registerBundles() $bundles = array( // ... new SymfonyBackboneBundle\SymfonyBackboneBundle(), );
执行以下命令
assets:install --symlink
在代码中添加
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.3.3/backbone-min.js"></script> <script type="text/javascript" src="{{ asset('bundles/symfonybackbone/js/symfony-backbone.js') }}"></script>
Symfony 表单
模型绑定示例
var Model = Backbone.symfony.ModelForm.extend({ formPrefix: 'foo' }), model = new Model(), form = $('form[name="foo"]');
form.on("submit", function (e) { e.preventDefault(); model.bindForm(e.target); model.save(); });
在控制器中接收数据
$form = $this->createForm(new FooFormType()); $manager = $this->get('backbone.manager.form'); $manager->hanadleRequest($form, $request); // do something return new JsonResponse([ 'data' => $manager->getFormData($form), 'submitted' => $form->isSubmitted(), 'valid' => $form->isValid(), 'errors' => $manager->getErrorsArray($form), ]);
自动绑定数据
view = new Backbone.symfony.ViewForm(); view.setModelForm(model); view.setFormElement(form); form.on('submit', function (e) { model.save(); e.preventDefault(); });
关闭自动绑定...
view.offFormElement();