使用web2py(或v.v.)进行反应

时间:2014-06-11 13:25:10

标签: javascript html web2py

我的目光袭击了Ractive.js,我想用Web2py进行测试。但是,Web2py也使用{{}}作为模板字符。 Ractive也使用这些字符。我已经有很多Web2py应用,因此更改Ractive中的{{}}标记对我来说是最简单的。可以这样做吗?

是的,它可以:

var ractive = new Ractive({
  el: whatever,
  template: myTemplate,
  data: {
    greeting: 'Hello',
    greeted: 'world',
    triple: '<strong>This is a triple-stache</strong>'
  },
  delimiters: [ '[[', ']]' ],
  tripleDelimiters: [ '[[[', ']]]' ]
});

2 个答案:

答案 0 :(得分:1)

在web2py代码中,您可以轻松更改分隔符:

response.delimiters = ['{%', '%}']

所以在模板中你可以有类似的东西:

<body>
  {%web2py code%}
  <p>Along with</p>
  {{ember/angular/whatever code}}
</body>

我说更改web2py中的分隔符更容易,只需查找&amp;替换所有现有的模板文件,您将永远不必再考虑它。

答案 1 :(得分:0)

如果您将模板放在单独的文件中并加载它,例如使用jQuery,您甚至不需要更改分隔符。

 $.get("{{=URL('static','templates/hello.html')}}", function(template) {
    var ractive = new Ractive({

      el: 'container',
      template: template,
      data: { name: 'world' },

    });
});

因为,我认为,模板脚本不在web2py的范围内。