fastadmin 如何构建组合题--Cannot read property '0' of undefined

以下是逻辑思考

一. k=0 单选 k=1 多选 k=2 判断 k=3 填空 k=4 简答 k=5 组合
这6种题型同级,写在一个字段中,使用json字符串的方式,进行存储
二.6种题型不同级
组合题,包含前5种,并且自成一个字段
字段内容,也使用json进行存储
三.存储数据的逻辑是
1.6种题型,都会post过去
2.但是,控制器,根据type,对数据进行过滤,最后传入到数据库
四:出现Cannot read property '0' of undefined
原因是什么?
https://www.cnblogs.com/cyh-blogs/p/13064306.html

首先Google翻一下:
见文之意:这里的意思就是模板在渲染时候,读取对象中的某个对象的属性值时,这个对象不存在,说通俗点就是三层表达式a.b.c,在对象a中没有对象b,那么读取对象a.b.c中的值,自然会报错。如果是两层表达式a.b则不会报错,返回的是undefined。
代码如下,追加的时候,提示Cannot read property '0' of undefined
<!--单选题 -->
                                    <script id="sub_answer0" type="text/html">
                                   
                                        <dd class="form-inline  row">
                                            <ins class="col-xs-12 col-sm-1"><input  type="radio" name="row[answer0]" value="<%=row.key%>"/></ins>
                                            <ins class="col-xs-12 col-sm-2"><input   name="<%=name%>[<%=index%>][key]" class="form-control" placeholder="选项" size="10" value="<%=row.xuanda[0][index].key%>"/></ins>
                                            <ins class="col-xs-12 col-sm-8"><input  type="text" name="<%=name%>[<%=index%>][value]" class="form-control  myeditor" placeholder="" value="<%=row.xuanda[0][index].value%>"/></ins>
                                        
                                            
                                            <!--下面的两个按钮务必保留-->
                                            <span class="btn btn-sm btn-danger btn-remove"><i class="fa fa-times"></i></span>
                                        </dd>
                                    </script>

优化了一些写法,为了追加。并且把art-template弄到最新版,才能引入模板变量,注意,在value中,index直接写index

 <!--单选题 -->
                                    <script id="sub_answer0" type="text/html">
                                    
                                    
                                    <% $imports.log(row) %>
                                      <%if($imports.Object.keys(row).length==0){%> 
                                      
                                            <dd class="form-inline  row">
                                            <ins class="col-xs-12 col-sm-1"><input  type="radio" name="row[answer0]" value="<%=row.key%>"/></ins>
                                            <ins class="col-xs-12 col-sm-2"><input   name="<%=name%>[<%=index%>][key]" class="form-control" placeholder="选项" size="10" value=""/></ins>
                                            <ins class="col-xs-12 col-sm-8"><input  type="text" name="<%=name%>[<%=index%>][value]" class="form-control  myeditor" placeholder="" value=""/></ins>
                                            <!--下面的两个按钮务必保留-->
                                            <span class="btn btn-sm btn-danger btn-remove"><i class="fa fa-times"></i></span>
                                            </dd>
                                              
                                        <%}else{%> 
                                        
                                        <dd class="form-inline  row">
                                            <ins class="col-xs-12 col-sm-1"><input  type="radio" name="row[answer0]" value="<%=row.key%>"/></ins>
                                              //错误写法。value="<%=row.xuanda[0][<%=index%>].value%>",value="<%=row.xuanda[0][<%=index%>].value%>",正确的如下
                                            <ins class="col-xs-12 col-sm-2"><input   name="<%=name%>[<%=index%>][key]" class="form-control" placeholder="选项" size="10" value="<%=row.xuanda[0][index].key%>"/></ins>
                                            <ins class="col-xs-12 col-sm-8"><input  type="text" name="<%=name%>[index][value]" class="form-control  myeditor" placeholder="" value="<%=row.xuanda[0][<%=index%>].value%>"/></ins>
                                            <!--下面的两个按钮务必保留-->
                                            <span class="btn btn-sm btn-danger btn-remove"><i class="fa fa-times"></i></span>
                                        </dd>
                                           
                                        <%}%>
                                       
                                    
                                       
                                    </script>

posted @ 2020-06-14 03:32  风意不止  阅读(1041)  评论(0编辑  收藏  举报