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":,"EmailTopicID":,"EmailTopicCategoryID":,"EmailTopicName":"Policy","EmailTopicCategoryName":"Accountancy"},{"EudoraMainCategoryID":,"EmailTopicID":,"EmailTopicCategoryID":,"EmailTopicName":"Standards","EmailTopicCategoryName":"Accountancy"}],"InitialCheckedList":""}];
pageModel.data = <%= data %>; var data=pageModel.data;
var len=pageModel.data.length;
var newData=[];
var rows= Math.ceil(len/);
for (var i = ; i < rows; i++) {
newData.push([]);
}
for (var i = ; i < len; i++) {
newData[parseInt(i/)].push(data[i]);
} </script>
{{msg}}
<div>
<div>
<table class="content_wrapper_table" align="center" id="tblManageAgent" cellpadding="0px"
cellspacing="0px" border="" width="900px">
<tr>
<td>
<div align="left" style="vertical-align: text-top;">
<table cellspacing="10px" width="100%" border="">
<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 != )
{
}
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="" 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="" 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="" 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="" cellspacing="10px" width="100%">
<tr>
<td align="center">
<asp:Button CssClass="primary" ID="btnSendMail" runat="server" Text="Submit" TabIndex=""
OnClick="btnSendMail_Click" />
<asp:Button CssClass="primary" ID="btnSave" runat="server" Text="Submit" TabIndex=""
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="data:images/button_refresh.gif" alt="" />
</td>
</tr>
</table> </td>
</tr>
</table>
</div>
</td>
</tr>
<tr>
<td colspan="" 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 != )
{
}
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)>-?ids.splice(ids.indexOf(item.EmailTopicID),):_this.selectedIs.push(item.EmailTopicID);
}); }
}
}) </script>
</asp:Content>
vueJS 一天上手到精通的更多相关文章
- VueJs(1)---快速上手VueJs
[VueJs入门] 版权声明 首先申明:此篇博客不是本人原创,只是最近开始学习vue.jS,看到有作者写的很不错,我仅在它的基础上仅仅是修改了样式 原文博客地址:https://blog.csdn.n ...
- 什么是vuejs之重新认识vuejs
什么是vuejs? 1.它是一个轻量级的mvvm框架 2.数据驱动+组件化的前端开发 3.github超过25k+的stat数,社区完善 4.vuejs更轻量,gzip后大小只有20k+ 5.vuej ...
- ubuntu入门
Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音.了解发音是有意义的,您不是第一个为此困惑的人,当然,也不会是最后一个:) 大多数的美国人读 ubun ...
- Unity中使用WebView
Unity中使用WebView @(设计) 需求,最近游戏中需要引入H5直播页面和更新比较频繁的赛事页面,需求包括:加密传参数.和Unity交互,在Unity框架下其实有几种方案: 内置函数Appli ...
- 还在用GCD?来看看NSOperation吧
在iOS开发中,谈到多线程,大家第一时间想到的一定是GCD.GCD固然是一套强大的多线程解决方案,能够解决绝大多数的多线程问题,但是他易于上手难于精通且到处是坑的特点也注定了想熟练使用它有一定的难度. ...
- Ubuntu完全教程,让你成为Ubuntu高手!
Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音.了解发音是有意义的,您不是第一个为此困惑的人,当然,也不会是最后一个:) 大多数的美国人读 ubun ...
- PHP程序员遇到职业问题时,是离职?还是坚持?
PHP程序员遇到职业问题时,是离职?还是坚持? 初级php程序员最担心在公司里遇到原本其他程序员开发的项目,他们“跑路”以后的工作就由新程序员完成.而新员工也不懂内部的逻辑,酱紫让程序员很难处理后续的 ...
- 一个完整的Installshield安装程序实例-转
一个完整的Installshield安装程序实例—艾泽拉斯之海洋女神出品(一)---基本设置一 前言 Installshield可以说是最好的做安装程序的商业软件之一,不过因为功能的太过于强大,以至于 ...
- [转]一个完整的Installshield安装程序实例
@import url("http://files.cnblogs.com/files/go-jzg/vs.css"); --> Installshield安装程序实例—基本 ...
随机推荐
- leetcode笔记--1 two-sum
my answer: 出现的问题:倒数第二行and i !=s这种情况没有考虑进去,以后要思考全面些
- android开源项目之OTTO事件总线(二)官方demo解说
官方demo见 https://github.com/square/otto 注意自己该编译版本为2.3以上,默认的1.6不支持match_parent属性,导致布局文件出错. 另外需要手动添加an ...
- 在阿里云上遇见更好的Oracle(二)
从上一篇文章的反馈来看,大家还是喜欢八卦多过技术细节,那这一篇继续一些题外话,说说我对“去IOE”的看法. 对同一件事情,参与的没参与的人,讨论起来,都会有各自的立场.所以这里先申明一下,以下内容只是 ...
- ThinkPHP5作业管理系统中处理学生未交作业与已交作业信息
在作业管理系统中,学生登陆到个人中心后可以通过左侧的菜单查看自己已经提交的作业和未提交作业.那么在系统中如何实现这些数据的查询的呢?首先我们需要弄清楚学生(Student).班级(class).作业提 ...
- 今日头条 2018 AI Camp 6 月 2 日在线笔试编程题第二道——两数差的和
题目 给 n 个实数 a_1, a_2 ... a_n, 要求计算这 n 个数两两之间差的绝对值下取整后的和是多少. 输入描述 第一行为一个正整数 n 和一个整数 m.接下来 n 行,第 i 行代表一 ...
- [PocketFlow]解决TensorFLow在COCO数据集上训练挂起无输出的bug
1. 引言 因项目要求,需要在PocketFlow中添加一套PeleeNet-SSD和COCO的API,具体为在datasets文件夹下添加coco_dataset.py, 在nets下添加pelee ...
- Linux 简单socket实现TCP通信
服务器端代码 #include <stdio.h> #include <stdlib.h> #include <errno.h> #include <stri ...
- java正则表达式2 -- 匹配、切割、查找
import java.util.Arrays; /* 正则表达式的作用: 1 匹配 2 切割 3 替换 * */ public class Demo1 { public static void ma ...
- ExtJS新手学习中常见问题
1.常常出现运行之后不出现应该出现的效果. 这种情况一般是引用ExtJS路径不正确,要确保路径正确. 示例: <!DOCTYPE html> <html lang="en& ...
- 详细介绍javascript中的几种for循环的区别
偶然间见到了forEach循环,感觉很新奇,就研究了一下,顺带着把js中的几种for循环做了一个比较. 首先,简单说一下,js中一共大概有四种for循环:(1).那种简单常见的for循环:(2).fo ...