METEOR培训二,补

client文件夹下有三个文件,css,html ,js

咱们说html和js.

html代码如下:

[html] view
plain
 copy

 

  1. <head>  
  2.   <title>simple</title>  
  3. </head>  
  4.   
  5. <body>  
  6.   <h1>Welcome to Meteor!</h1>  
  7.   
  8.   {{> hello}}  模板名称  
  9.   {{> info}}  
  10.   {{> items}}   template 模板  
  11. </body>  
  12.   
  13. <template name="hello">  
  14.   <button>Click Me again</button>  
  15.   <p>You've pressed the button {{counter}} times.</p>  
  16. </template>  
  17.   
  18. <template name = "info">  
  19.   <h2>Learn Meteor!</h2>  
  20.   <ul>  
  21.     <li><a href="https://www.meteor.com/try">Do the Tutorial</a></li>  
  22.     <li><a href="http://guide.meteor.com">Follow the Guide</a></li>  
  23.     <li><a href="https://docs.meteor.com">Read the Docs</a></li>  
  24.     <li><a href="https://forums.meteor.com">Discussions</a></li>  
  25.   </ul>  
  26. </template>  
  27.   
  28. <template name="items">  
  29.     <button>Click Me again</button>  
  30.     <p>You've pressed the button {{counter}} times.</p>  
  31. </template>  

在html中,出现了一些

[html] view
plain
 copy

 

  1. {{> hello}}  模板名称  
  2. {{> info}}  
  3. {{> items}}   template 模板  

在,<body></body>中。

然后,在body的外面,定义了一些<template >

可以理解为,在body里面,需要对用到的模板进行声明,然后,在body外面,在写具体的模板代码。

模板引用,就是用{{<模板名称}}

模板的实例,就是<template name = "模板名称"></template>

模板中也可以引用模板。

有模板的实例,就必须要有模板的引用,否则,在客户端是看不见模板的数据的。

在模板中,可以用一些语法,类似于

{{#}} spacesbar语法

叫做spacebar。

{{# each data}}

很简单明确,这个是循环,一个模板中,使用循环语法,则这句会循环输出。

这里的data,属于方法输出的数据,后面再介绍。

{{/each}}

{{#with date}}

{{/with}}   等等其他的语法。

这些方法都是为了方便渲染页面数据的。

简单的说,html里面,就是各种模板,模板嵌套模板。来渲染数据的。

当然,现在并没有用其他第三方的包,如果引用其他第三方的包来渲染页面和加载数据,会更加简单的。

××××××××××××××××××××××××××××××××

然后说,main.js,代码如下。

import { Template } from 'meteor/templating';
import { ReactiveVar } from 'meteor/reactive-var';

import './main.html';

Template.hello.onCreated(function helloOnCreated() {
  // counter starts at 0
  this.counter = new ReactiveVar(0);
});

Template.hello.helpers({
  counter() {
    return Template.instance().counter.get();
    Meteor.call("",function(e,r){

    })
  },
});

Template.hello.events({
  'click button'(event, instance) {
    // increment the counter when button is clicked
    instance.counter.set(instance.counter.get() + 1);
  },
});

代码上方,是导入第三方类库,import。

然后下面,对应每个模板,都有一系列的操作,比如,我有一个模板,名称叫做,hello, <template name ="hello"></template>

就可以在JS中定义这样一系列方法。比较常用的有下面四个,还有一些其他不常用的方法。

Template.hello.onCreated
Template.hello.onRendered
Template.hello.events
Template.hello.helpers
分别是,
1、hello模板创建时,执行的方法。
2、模板加载完成后执行的方法。
3、模板中,响应的一些事件,比如,onblur,onclick,keydown等等
4、数据处理的方法。
其中,
Meteor.call("methodTest",function(e,r){
});

这个方法的意思是,到server,服务端,找到方法methodTest,并执行这个方法,function为回调函数,e,是error,r,是response。

可以针对方法执行后返回的结果进行操作并进行下一步处理。

××××××××××××××××××××××××××××××××××××

然后说server。

这个demo中,在server中的代码比较少,


Meteor.methods({
    methodTest: function()
    {
        return HTTP.get("http://ipinfo.io/ip/").content;
    },
})

在server/main.js中,定义methodTest,client,就可以通过meteor.call来调用这个方法了。

×××××××××××××××××××××××××
both
这个文件夹下面的内容也比较少,因为不是实际项目,只是一个demo。
只有自己定义的一个JS文件,里面只有一行代码。

MyColect=new Meteor.Collection("DBcollnection");

这句话的意思是,创建一个对于数据库中 DBcollnectio (类似表)其中有name,pwd,等等字段。

的引用 MyColect 

可以在JS中,通过,MyColect,来直接对数据库数据进行操作。
比如上面说的

<template name="hello">
    {{#each date}}
        <tr>
            <td>{{user}}</td>
            <td>{{pwd}}</td>
            <td>{{getTime}}</td>
        </tr>
    {{/each}}
</template>
在JS里,会这样写。

Template.hello.helpers({
  date:MyColect.find(),
  getTime(){
    return moment(this.insertTime).format('llll')
  }
});

date,会获取所有的记录,getTime方法,会获取时间。moment,是第三方类库。

html中{{ }}会输出,date,或者getTime方法的数据。

这里有一个很有用的地方,就是,如果你这个hello模板的,each中,再引用另外的模板,那么,子模板,可以继承父模板的数据。
meteor,自带mongoDB.
还有,如果需要配置数据库,在这个地方进行配置。

配置完成后,就可以用我在both中写的方法进行引用了。


写的可能不完善,还有遗漏,后期会不定时更新,如果任何问题或者疑问,欢迎加QQ:1286238812,共同学习提高。
时间: 2024-09-20 16:39:18

METEOR培训二,补的相关文章

meteor培训二

今天说的主要是,meteor. 明天写,详细些,关于,docker和jenkins的东西,今天先写meteor的. 昨天创建了一个简单的meteor的demo. 今天就拆开这个demo,来解释一下里面都是什么东西. 先从文件夹结构来说起. 一个一个说. 1. .meteor,这个是,自动生成的一些文件,也会包含,需要运行的一些类似jar包的类库. 2.both,从英语上来说,是,两者都,没错,在这下面的代码,均会出现在client客户端,和server服务器端. 3.client,客户端,就是项

云岩区制定大数据人才培训计划 补齐人才短板

近日,<云岩区大数据人才培训计划>出炉.记者从云岩区人才办获悉,该计划是继去年8月<云岩区大数据人才培养计划实施方案>发布后,又一个全区性的大数据人才培训指导文件. 根据计划,云岩区将紧抓建设创新型中心城市核心区的战略机遇,以"大数据核心应用区"建设为目标,紧紧围绕大数据政用.民用.商用三大应用体系,以普及大数据应用基础知识.了解互联网安全应用相关知识.熟悉政务大数据应用知识.促进大数据产业发展为目的,拟从基地.体系.应用三个方面着手,加快大数据人才培训,逐步规

meteor 培训第一天

公司组织内部培训. 今天讲的主要是如何使用git来管理项目, 和用sourceTree来更好的使用git. 还有用webstorm来运行meteor项目. 首先需要安装一系列工具,资源链接如下: 资源链接,有时间上传百度云,如果需要的可以QQ联系我:1286238812 1.DockerToolbox-1.9.1c.exe 2.Git-2.8.1-64-bit.exe 3.InstallMeteor.exe 4.SourceTree 5.WebStorm-11.0.0.exe 其他需要准备的,需

百度发布教育新品或改变培训机构推广路数?

多知网4月27日消息,近日百度低调测试了一款针对培训领域新的搜索广告产品,用户通过百度搜索机构或课程时,在推广链接下面直接显示关键词相关的课程及服务.多知网编辑尝试在百度搜索"雅思培训"关键词,百度的搜索结果里出现了雅思培训的相关课程(88个结果),还按班型做了分类信息展示,结果中主要有新东方.新航道和环球雅思等机构的课程,点击课程即链接到机构的官网相应的课程页面.该产品针对含"培训"二字的部分词汇,包括司法考试在内的很多考试已经能显示课程,不过数据还很少.多年来,

【大数据100分】高步云:教育领域的大数据应用

主讲嘉宾:高步云 承办:中关村大数据产业联盟 高步云,北京师范大学教育技术博士,研究方向:学习分析学(大数据在教育领域的具体应用).高博士是原华为公司海外高级项目经理,现任和君资本总裁助理.高级投资经理.长期关注教育+科技+资本的发展模式,投资领域专注教育科技和互联网教育,也是本周分享的主持人. 以下为分享实景全文: 今天和大家分享的主题是教育领域的大数据应用.在正式开始之前,想先和大家分享几个观点或者说事实.按照年龄的划分规则,我们一般把0-6作为一个阶段,小学到高中作为一个时段,成为K12,

硕士研究僧长成记

作者:一人 2013年9月7号,我和母亲两个人到达了西安,我一手拉着箱子,上面放着本科时候用的旧褥子被子,母亲手提着放满衣服的提包,两个人穿梭于林立的高楼当中.母亲看护行李,我办理手续,直到下午很晚的时候,才在城西送母亲坐上了回家的大巴车.就这样,开始了我的研究生求学生活. 研一开始选择导师,我没有像很多同学那样提前联系导师,因此误打误撞的选择了老L.那年,我听说老L给院办公室叮咛说要选几个男学生,因此那一届我们三个就都是男生了,后面见到高一级同门才明白为什么,原来上面是三个师姐,呵呵哒,三个青

创业之前的准备

一. 自身条件准备并不是每一个都适合创业,也并非每一个创业者都能成功!要想创业成功,创业者(或称为老板.经理.厂长等)首先需要准备自身的条件:1.了解自己是否具有创业意向2.明确自己的创业目标3.分析自己的职业心理特征4.参加创业技能培训二. 创业项目选定在分析自身条件和了解创业机会的基础上,创业者可以对创业项目做初步的选择,即选择创业的切入点.是办修理厂,还是办加工厂:是开美发中心,还是进行软件开发:是开商场,还是经营酒店:是个人独立经营,还是与人合作经营.选择的正确与否直接关系到创业的成败.

郎咸平:股市有泡沫散户才赚钱投资别跟基金走

记者:井楠 刚刚过去的周末时间,知名经济学者郎咸平教授做客广州.在中山大学高等继续教育学院培训二部组织的企业家论坛上,郎咸平做了一次题为"金融危机下的应对策略"的演讲,就中小企业与普通投资者现阶段的投资理财策略发表了个人观点,认为金融危机导致了市场波动加大,"无论在本国或在国际市场上都会有大量的机会给老百姓赚钱." 郎教授认为,近日中国股票市场走出的上涨行情是由宽松的信贷政策直接导致的,资金无法继续在实业投资上谋出路而辗转流入股市,推高股指:为此股市存在泡沫. 不过

广东移动现一卡二主:实名登记仍被他人成功补卡

广东移动惊现一卡二主,实名登记的神州行竟在营业厅被他人多次成功补卡 南方农村报2月25日报道:一个自己用了近五年的神州行号码,竟被他人成功补卡,即便重新补回却又再次得而复失,这让受害者不禁感慨:现实生活的荒诞感远比<三枪拍案惊奇>更为强烈. 三天内两次丢号 实名登记形同虚设 在番禺打工的邓天文是这场"惊奇"的男主角. 2月22日,他向南方农村报记者诉苦:就为这事,他被迫放弃了回重庆老家过年. "麻烦的制造者"是一张手机卡,广东移动的神州行大众卡.这个13