avalon2加载模板页组件的问题

bluesky001
  • 17

小白用avalon2写一个加载模板页的组件,请教模板页中的js怎么执行?

组件使用,url传模板页面路径

<template ms-widget="{is:'ms-inTemplate',url:@MHtml}">

组件代码,使用ajax加载模板html

avalon.component('ms-inTemplate', {
          template: '<div ms-html="@mHTML"></div>',
          defaults: {
              url: "",
              mHTML: "",
              mSCRIPT:"",
              onInit: function () {
                  var obj = this;
                  $.ajax({
                      url: this.url,
                      type: "GET",
                      success: function (data) {
                          obj.mHTML = $(data).find(".tmphtml").html();
                          obj.mSCRIPT = $(data).find(".tmpscript").html();
                      }

                  })
              },
              onReady: function () {

              }
          }
      });

加载的模板页面的html可以正常显示,请教高人模板页面的js怎么执行?在html中放入js代码是不执行的,有别的方式可以执行js吗,或是有更好的写法?

模板HTML


<div id="tmp">
    <div class="tmphtml">


        <div ms-controller="tmpmodelview">
            <div class="control-group">
                <label class="control-label v-top">
                    <b style="color: #f00;">*</b>
                    广告标题:
                </label>
                <div class="controls">
                    <input type="text" name="schoolname" class="input-xlarge input-xfat" ms-duplex="@modelData.Title" data-rules="required" maxlength="200">
                </div>
            </div>
           
            <div class="control-group">
                <label class="control-label v-top">
                    排序:
                </label>
                <div class="controls">
                    <input type="text" class="input-xlarge input-xfat" ms-duplex="@modelData.Sort">
                </div>
            </div>
           
           
        </div>


    </div>
    <div class="tmpscript">


        <script type="text/javascript">
            var tempmodel = avalon.define({
                $id: "tmpmodelview",
                modelData: { "Client": "", "Category1": "", "Title": "", "ImgUrl": "", "Details": "", "LinkUrl": "", "Sort": "1", "StartDate": ComFunJS.getNowDate("yyyy-MM-dd HH:mm:ss"), "EndDate": "" },
                ClientData: [],
                CatData1: [],
                Init: function (ID) {
                    ComFunJS.getJSON("/adapi/base/authclient", function (r) {
                        tempmodel.ClientData = r.result;
                    })

                    if (ID) {
                        ComFunJS.getJSON("/adapi/advert/model/" + ID, function (r) {
                            if (r.error == "") {
                                tempmodel.modelData = r.result;
                                pmodel.FileData = ComFunJS.strToIds(r.result.ImgUrl);
                                setTimeout("ComFunJS.initForm();", 500);
                            }

                        })
                    }
                },
                tmpSaveData: function () {
                    tempmodel.modelData.ImgUrl = pmodel.GetFileIds();
                    ComFunJS.postJSON("/adapi/advert/add", tempmodel.modelData.$model, function (r) {
                        if (r.error == "") {
                            top.ComFunJS.winShowMsg("操作成功");
                            top.ComFunJS.close();
                        } else {
                            top.ComFunJS.winShowAlert(r.error);
                        }

                    })
                }

            });


        </script>



    </div>
</div>
回复
阅读 1.7k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏