详情页的参数传递思考
对于这个的思考源于我刚学小程序一天,前面的时间在研究PHP的框架,然后在实现小程序的详情页跳转的时候,发现其参数和详情页的数组遍历和PHP有些区别,正因为这个区别让我陷入了循环。
先来说说在PHP中详情页实现的基本逻辑,什么MVC的就不说了,简单说一下,就是点击某个内容后,这个点击里带着ID,这个ID是区分每块详情页内容不同的关键所在,在控制器中获取到ID后再从数据库中根据这个ID查询得到对应的字段内容,并把这个内容赋给一个变量,通过模板渲染到页面,在页面中,这个页面,是只有一个的,里面内容是遍历根据这个传过来的变量作为条件或者直接输出这个变量来进行页面渲染。
接下来在小程序中,可能是因为我才学小程序,习惯性的用PHP中的逻辑来思考这里的逻辑。我们在列表页点击一篇文章,在点击事件里绑定一个取名为ID的家伙,我是通过在列表页遍历文章这个内容然后通过{{index+1}}
来定义这个ID的,r然后使用一个跳转,将这个ID绑定在url地址后 wx.navigateTo({ url: "../details/details?id"+'='+detail_id})
,接着在details.js
中的onLoad
函数中通过options.id
来接受这个ID,并赋值给data中定义的id,this.setData({id: options.id})
。
最后就是我所思考的东西了,小程序中的详情内容,可以在其js文件的data里面定义好,通过一个数组,分别对应的定义。什么id,title,content之类的,每个值都写好来,然后在页面中,根据wx:if="{{id == 1}}"
wx:if="{{id == 2}}"
等等来对应的输出,内容多的,相同条件的也可以放在一个<block></block>
标签中,对其的思考在于,后面的学习可能会发现可以用PHP中的方法在这里输出数据,也可能没有,但在防止数据冗余,会采用<import src=" ">
来将对应的数据调用出来。
最后,后面的学习,会再向前端部分探进,页面的布局,api的调用等。用PHP思维思考数据的逻辑不免也是一个好办法,但有区别的地方还是要区别开来的。
网友评论