求教MVC和Jquery的问题

#1 膂蒤芣寂寞

小弟对MVC的启蒙都是拜speedphp教程所赐,现在遇到和Jquery配合开发的时候有一些困惑,因为很多JS库本身利用Jquery实现了MVC,

比如以下这段代码,是画曲线的
        $(function () {
                $('container').highcharts({
                    chart: {
                    },
                    title: {
                        text: 'DemoData'
                    },
                    xAxis: {
                        type: 'datetime'
                    },
                    yAxis: [{
                        title: {
                            text: 'Value'
                        }
                    }],
                    series: [{
                        name: 'Value',
                        data:
                    }]
                });
            });

如果后端用一个MVC的框架,那就是在data后面用smarty模版写成 data: <{data}>, 这实际上是把MVC中的control交给了JS去做,如果我想调整曲线的颜色,粗细,标题,我只能在JS里面预留出模版中的变量,这样一旦有新需求,还需要前端配合修改,比如又想调整曲线的图例,但是前端没有给这个参数预留一个读取model的模版变量。

所以我想最好在controller中调整曲线的展现,现在想到的是把整个JS代码用一个方法比如drawCurve来输出,但是遇到这种和Jquery混写,总是会遇到一堆麻烦,比如drawCurve中间的JS写到什么程度?是否包括$DocmentReady么?包括的话如果一个网页上有两个container怎么处理,如何保证container的ID和drawCurve吐出的JS匹配上?container的名字是作为参数传给drawCurve么?

想请教一下一般遇到这种情况思路是什么?

2013-05-02 17:41:55

#2 coolhpy

利用AJAX去向Controller请求你要的数据,请求到之后,再使用上述JS来完成你要的功能。

顺便说下,虽然是利用JS来完成你要的业务功能,但是对于MVC来说,JS只是V的内容而已。

2013-05-02 23:48:49