zhaoda / spa

A webapp framework for routing control and view transitions
http://zhaoda.net/spa/docs/
MIT License
330 stars 92 forks source link

关于页面视图内容的问题 #24

Closed xierenyuan closed 9 years ago

xierenyuan commented 9 years ago

-。- 大神早上好。 是这个情况, image boby 这里返回html 的话 在开发中有些时候 改起内容来不是很好改,然后我就想在是不是可以利用xhr 加载的原理 所以就自己尝试这修改了一下,但是 在返回html 内容的时候因为是异步的原因 - -。没有想到好的方法 返回html 内容。 如果 我要从源码 改一下 baby 的获取方式 比如 加入两个参数template和 templateUrl 一个直接返回html 一个可以取一个html 文件内容。 应该从那一块入手。求参考意见!

zhaoda commented 9 years ago

去掉body属性,增加view回调接口,在view中异步获取body后trigger给视图,实例代码如下:

var pageVideo = {
  route: 'video/:id',
  id: 'video',
  classname: 'video',
  animate: 'zoomIn',
  view: function() {
    var $view = this,
        context = {},
        body = txTpl(videoTmpl, context)
    // 这里的body可以异步获取,就像你上面的代码那样
    // 然后执行下面的事件,将body传给视图
    $doc.trigger('spa:initpage', [$view, {body: body}])
  },
  init: function() {
  }
// 后面代码省略
xierenyuan commented 9 years ago

好的, 谢谢 我去试试

phoeson commented 9 years ago

我看到panel可以加入一个id属性生成data-id属性,但是page上面好像加了id没有用

lin-chao commented 9 years ago

@KevinPan 是这样的

page的id会自动生成

phoeson commented 9 years ago

@xierenyuan 加载html内容可以用tmodjs,将html片段编译到JS中,然后就能require了

xierenyuan commented 9 years ago

@KevinPan 好的 谢谢 等忙完 这段时间 在回来研究这个-。- 之前已经写了 一半了 中途 加班 没有开始继续写关于这个的呢

pengkobe commented 8 years ago

差点就开了个issue,还好这里有方案。模板文件异步加载这个需求还是比较多的,建议直接写在doc中。