vueJS 一天上手到精通

近来用vuejs, vuejs和angular的不同在于它直接暴露了一个构造函数,而后在里面写各种config, 和模板再相对,而且vuejs也有对应的模板双向绑定机制,这样就使开发非常简单容易,虽然vuejs在概念上后来跟进了angular这样的框架,引入了各种分层理念,但在核心用法上却是非常简省的,所以我就把它用成一个单文件js库的形式, 至于 vuejs 自有的.vue文件 的形式,按照官网的步骤可以很快build出来。

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="InstantAlertETopicNew.aspx.cs"
    Inherits="CapMon.WebUI.InstantAlertETopicNew" MasterPageFile="~/MasterPages/ContentPage.master" EnableViewState="False" %>

<%@ Register Src="UserControls/FooterBand.ascx" TagName="FooterBand" TagPrefix="uc4" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
    <link href="Styles/layout.css" rel="stylesheet" type="text/css" />
    <base target="_self">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="page_title" runat="Server">
    <asp:Literal ID="ltrlPageTitle" runat="server" Text="Capmon Instant Alert Topics"></asp:Literal>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="page_contents" runat="Server">
    <div id="app">

        <script src="Scripts/jquery-1.4.2.min.js" type="text/javascript"></script>

        <script src="Scripts/jquery.effects.core.js" type="text/javascript"></script>

        <script src="Scripts/jquery.effects.blind.js" type="text/javascript"></script>
        <script src="Scripts/vue.min.js" type="text/javascript"></script>

        <script type="text/javascript">
            var pageModel = {};
            topics=[{"MainTopic":"Accountancy","LstSubTopics":[{"EudoraMainCategoryID":0,"EmailTopicID":1,"EmailTopicCategoryID":1,"EmailTopicName":"Policy","EmailTopicCategoryName":"Accountancy"},{"EudoraMainCategoryID":0,"EmailTopicID":2,"EmailTopicCategoryID":1,"EmailTopicName":"Standards","EmailTopicCategoryName":"Accountancy"}],"InitialCheckedList":""}];
            pageModel.data = <%= data %>;

            var data=pageModel.data;
            var len=pageModel.data.length;
            var newData=[];
            var rows= Math.ceil(len/5);
            for (var i = 0; i < rows; i++) {
                newData.push([]);
            }
            for (var i = 0; i < len; i++) {
                newData[parseInt(i/5)].push(data[i]);
            }

        </script>
        {{msg}}
        <div>
            <div>
                <table class="content_wrapper_table" align="center" id="tblManageAgent" cellpadding="0px"
                    cellspacing="0px" border="0" width="900px">
                    <tr>
                        <td>
                            <div align="left" style="vertical-align: text-top;">
                                <table cellspacing="10px" width="100%" border="0">
                                    <tr>
                                        <td></td>
                                        <td>
                                            <p>
                                                <b>Instant Alert Service</b> – this premium service involves Capital Monitor News
                                                Managers analysing information, in real time and federal material only, classifying
                                                a document by <b>topic</b> and <b>sub-topic</b>.
                                            </p>
                                            <p>
                                            </p>
                                            <p>
                                                The <b>topic</b> is the <b>qualifier</b>. This means that, regardless of the type
                                                of document (i.e. press release, Hansard extract, transcript, report, legislation,
                                                etc) and author (government, opposition and minor parties, industry, associations
                                                and other key stakeholders into public policy) the document is assigned to the relevant
                                                topic/s – subtopic/s that document pertains to.
                                            </p>
                                            <p>
                                            </p>
                                            <p>
                                                To subscribe to this service or update your existing topics please complete the
                                                below form and a representative will be in contact ASAP.
                                            </p>
                                        </td>
                                    </tr>
                                </table>
                            </div>
                            <div>
                                <% if (CapMon.Utilities.Session.UserID != null && CapMon.Utilities.Session.UserID != 0)
                                   {
                                   }
                                   else
                                   { %>
                                <div style="background-color: Gray;">
                                    <div class="header_logo_container_instant">
                                    </div>
                                </div>
                                <% } %>
                            </div>
                        </td>
                    </tr>
                    <tr>
                        <td>
                            <div align="left" style="vertical-align: text-top;">
                                <table style="border: 1px solid silver" border="0" cellspacing="10px" width="100%">
                                    <tr>
                                        <td align="center" class="hammers" valign="top" style="padding-right: 15px;">
                                            <a name="top" id="top"></a>
                                            <a v-for="(x, key, index) in data" v-bind:href="‘#‘+x.MainTopic.split(‘ ‘).join(‘‘).split(‘&‘).join(‘‘).split(‘,‘).join(‘‘).split(‘/‘).join(‘‘)" style="font-family: Arial; cursor: pointer; font-size: 12px; font-weight: bold">{{x.MainTopic}} |   </a>

                                        </td>
                                    </tr>
                                </table>
                            </div>
                        </td>
                    </tr>
                    <tr>
                        <td>
                            <div align="left" style="vertical-align: text-top;">
                                <table border="0px" cellspacing="10" width="100%">
                                    <tr>
                                        <td align="center">

                                            <table>

                                                <tr>
                                                    <td style="height: 10px"></td>
                                                </tr>
                                                <tr>

                                                    <td class="bowls">

                                                        <div v-for="topics in newData">
                                                            <table border="1" width="200px" v-for="(topic, key, index) in topics">
                                                                <tr>
                                                                    <td style="background-color: Silver; color: Black; height: 40px; font-weight: bold;"
                                                                        align="left" valign="middle">
                                                                        <table>
                                                                            <tr>
                                                                                <td class="topictitle" v-bind:id="topic.MainTopic.split(‘ ‘).join(‘‘).split(‘&‘).join(‘‘).split(‘,‘).join(‘‘).split(‘/‘).join(‘‘)">
                                                                                    <input type="checkbox" class="mainall" v-on:click="checkall(topic)" />{{topic.MainTopic}}
                                                                                </td>
                                                                                <td></td>
                                                                            </tr>
                                                                        </table>

                                                                    </td>
                                                                </tr>
                                                                <tr>
                                                                    <td align="left" valign="middle">
                                                                        <div style="height: 150px; overflow-x: hidden; overflow-y: auto; border-width: 1px; border-color: Silver;">
                                                                            <div v-for="sub in topic.LstSubTopics">
                                                                                <input type="checkbox" v-model="selectedIs" v-bind:value="sub.EmailTopicID" />{{sub.EmailTopicName}}
                                                                            </div>
                                                                        </div>

                                                                    </td>
                                                                </tr>
                                                                <tr>
                                                                    <td style="height: 25px;" align="left" valign="top">
                                                                        <a href="#top" style="font-family: Arial; font-size: 12px; font-weight: bold">Return
                                                                                        to Top</a>
                                                                    </td>
                                                                </tr>
                                                            </table>

                                                        </div>

                                                    </td>

                                                </tr>
                                                <tr>
                                                    <td>
                                                        <div id="divDetails" runat="server" style="text-align: left;">
                                                        </div>
                                                    </td>
                                                </tr>
                                                <tr>
                                                    <td>
                                                        <div align="left" style="vertical-align: text-top;">
                                                            <table style="border: 0px solid silver" border="0" cellspacing="10px" width="100%">
                                                                <tr>
                                                                    <td align="center">
                                                                        <asp:Button CssClass="primary" ID="btnSendMail" runat="server" Text="Submit" TabIndex="9"
                                                                            OnClick="btnSendMail_Click" />
                                                                        <asp:Button CssClass="primary" ID="btnSave" runat="server" Text="Submit" TabIndex="9"
                                                                            OnClick="btnSave_Click" />
                                                                        <asp:Button CssClass="secondary" ID="btnReset" runat="server" Text="Reset" OnClick="btnReset_Click"
                                                                            CausesValidation="false" />
                                                                        <input type="button" v-on:click="oscillation()" class="paimary" value="submitTopics" />
                                                                    </td>
                                                                </tr>
                                                                <tr>
                                                                    <td align="center">

                                                                        <table>
                                                                            <tr>
                                                                                <td>Please wait, loading...
                                                                                </td>
                                                                                <td>
                                                                                    <img id="CategoryDropwodnUpdateProgressImg" src="images/button_refresh.gif" alt="" />
                                                                                </td>
                                                                            </tr>
                                                                        </table>

                                                                    </td>
                                                                </tr>
                                                            </table>
                                                        </div>
                                                    </td>
                                                </tr>
                                                <tr>
                                                    <td colspan="2" align="center">
                                                        <asp:Label runat="server" ID="lblMessage" ForeColor="Red"></asp:Label>
                                                    </td>
                                                </tr>
                                            </table>
                                        </td>
                                    </tr>
                                </table>
                            </div>
                        </td>
                    </tr>
                </table>
            </div>
            <div>
                <% if (CapMon.Utilities.Session.UserID != null && CapMon.Utilities.Session.UserID != 0)
                   {
                   }
                   else
                   { %>
                <uc4:FooterBand ID="FooterBand1" runat="server" />
                <% } %>
            </div>
        </div>
    </div>

    <script type="text/javascript">
        new Vue({
            el: ‘#app‘,
            data: {msg:‘hello Calos, you are so good, oh my god, how can you be so good.‘,topics: newData,ok:true,selectedIs:[]},
            mounted: function() {
                $(‘.hammers a‘).click(function () {
                    $(‘.bowls .topictitle‘).css(‘color‘,‘black‘);
                    $($(this).attr(‘href‘)).css(‘color‘,‘red‘);
                });
            },
            methods:{
                oscillation:function () {
                    window.opener.document.getElementById(‘selectedtopics‘).value=this.selectedIs.join(‘,‘);
                    window.close();
                },checkall:function (topic) {
                    var _this=this;var ids=_this.selectedIs;
                    topic.LstSubTopics.forEach(item=>{
                        _this.selectedIs.indexOf(item.EmailTopicID)>-1?ids.splice(ids.indexOf(item.EmailTopicID),1):_this.selectedIs.push(item.EmailTopicID);
                });

        }
        }
        })

    </script>
</asp:Content>
时间: 2024-11-25 16:37:14

vueJS 一天上手到精通的相关文章

ubuntu入门

Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音.了解发音是有意义的,您不是第一个为此困惑的人,当然,也不会是最后一个:) 大多数的美国人读 ubuntu 时,将 u 作为元音发音,类似单词 who 或者 boo ,重音在第二个音节即 u'buntu ,oo-boon-too . 如果您喜欢撒哈拉,喜欢它令人窒息的温柔.梦幻般的寂寥还有张扬恣肆的旷远,您大可在第一个 u,后面带些嗡嗡声: oom-boon-too. Ubuntu的中文发音大约为:

[转]一个完整的Installshield安装程序实例

Installshield安装程序实例—基本设置一 前言 Installshield可以说是最好的做安装程序的商业软件之一,不过因为功能的太过于强大,以至于上手和精通都不是容易的事情,之前都是用Installshield的Project Assistant对付过去的,这次做这个安装程序,为了实现一些功能,必须写代码,国内外现成的资料很少,而且很多都语焉不详,自己反复啃了多次,对比Installshiel自带的help,才明白资料所表达的意思.这个安装程序虽然比较简陋,在行家眼里可能是小菜一碟,但

Ubuntu完全教程,让你成为Ubuntu高手!

Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音.了解发音是有意义的,您不是第一个为此困惑的人,当然,也不会是最后一个:) 大多数的美国人读 ubuntu 时,将 u 作为元音发音,类似单词 who 或者 boo ,重音在第二个音节即 u'buntu ,oo-boon-too . 如果您喜欢撒哈拉,喜欢它令人窒息的温柔.梦幻般的寂寥还有张扬恣肆的旷远,您大可在第一个 u,后面带些嗡嗡声: oom-boon-too. Ubuntu的中文发音大约为:

还在用GCD?来看看NSOperation吧

在iOS开发中,谈到多线程,大家第一时间想到的一定是GCD.GCD固然是一套强大的多线程解决方案,能够解决绝大多数的多线程问题,但是他易于上手难于精通且到处是坑的特点也注定了想熟练使用它有一定的难度.而且很多人嘴上天天挂着GCD,实际上对它的实际应用也不甚了解.再者说,在现在的主流开发模式下,能用到多线程的绝大多数就是网络数据请求和网络图片加载,这两点上AFNetwork+SDWebImage已经能满足几乎所有的需求.而剩下的一小部分,简单好用的NSOperation无疑是比GCD更有优势的.因

浅谈前端开发工程师与美工的区别

一. 什么是美工?     美工:意为美术工程师(Art Engineer),一般出身于艺术美术院校的艺术设计专业居多.     根据工作性质美工一般分为平面美工.三维美工.网页美工三大类.     平面美工是由美工用Fireworks 或者 Photoshop 设计出平面外观.     三维美工是由美工用3DMAX等工具进行三维角色模型设计,道具模型设计,环境场景模型设计,包装设计等.     网页美工是美工用Dreamwerver等网页编辑软件把已经设计好的平面效果图,制做成HTML静态网页

ubuntu完全教程

Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音.了解发音是有意义的,您不是第一个为此困惑的人,当然,也不会是最后一个:) 大多数的美国人读 ubuntu 时,将 u 作为元音发音,类似单词 who 或者 boo ,重音在第二个音节即 u'buntu ,oo-boon-too . 如果您喜欢撒哈拉,喜欢它令人窒息的温柔.梦幻般的寂寥还有张扬恣肆的旷远,您大可在第一个 u,后面带些嗡嗡声: oom-boon-too. Ubuntu的中文发音大约为:

[转]还在用GCD?来看看NSOperation吧

转自:http://www.jianshu.com/p/0c241a4918bf 在iOS开发中,谈到多线程,大家第一时间想到的一定是GCD.GCD固然是一套强大的多线程解决方案,能够解决绝大多数的多线程问题,但是他易于上手难于精通且到处是坑的特点也注定了想熟练使用它有一定的难度.而且很多人嘴上天天挂着GCD,实际上对它的实际应用也不甚了解.再者说,在现在的主流开发模式下,能用到多线程的绝大多数就是网络数据请求和网络图片加载,这两点上AFNetwork+SDWebImage已经能满足几乎所有的需

ubuntu使用教程

Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音.了解发音是有意义的,您不是第一个为此困惑的人,当然,也不会是最后一个:) 大多数的美国人读 ubuntu 时,将 u 作为元音发音,类似单词 who 或者 boo ,重音在第二个音节即 u'buntu ,oo-boon-too . 如果您喜欢撒哈拉,喜欢它令人窒息的温柔.梦幻般的寂寥还有张扬恣肆的旷远,您大可在第一个 u,后面带些嗡嗡声: oom-boon-too. Ubuntu的中文发音大约为:

前端开发工程师和美工 知识需求的区别

摘要:很多公司甚至是多数以互联网网站为主要业务的公司都会把“美工”的概念搞混淆,通常这些公司都会把网页设计+网页制作的人员统称为“美工”.而一家成熟的互联网公司则会把网站方面的人才规划的比较详细,如UED团队(用户体验设计,英文User Experience Design的缩写),其中详细划分成了“交互设计”.“视觉设计”.“前端开发”.“用户研究”.“文案”等职位.今天主要就为了这个话题,与大家分享一下“美工”与“前端”之间的职能区别… 一. 什么是美工? 美工:意为美术工程师(Art Eng