美文网首页
meteor 1.4更新之后的变革

meteor 1.4更新之后的变革

作者: 肖雨San | 来源:发表于2016-08-31 22:47 被阅读44次

    首先是npm依赖包不在只限于server端使用,在client端也可以用了!相比以前用browserify省力了。

    所以对于atmospherejs的依赖也就不是特别重要了,当初创立atmospherejs就是旨在为meteor创建一个自己的资源库。但同时meteor有是对cordova,npm多面支持,同样javascript代码,meteor的资源库并没有自己的优势,在npm下鸡肋就特别明显。在meteor全端支持npm资源后,也有不少atmospherejs不少资源停止了publish。所以要替换成npm使用。不得不说meteor是在在做一次革命。

    以Handlebars为例,meteor的Handlebars并不完整,要使用要另外依赖npm的Handlebars

    在client中使用

    想再动态加载完成后添加script

    Handlebars = require("Handlebars");

    template = Handlebars.compile(source);

    $('.main-content').fadeOut ->

    $('.main-content').html(template());

    $('.main-content').fadeIn ->

    console.log "main-content fadeIn"

    loadjscssfile("js/materialize.min.js", "js")

    override template

    template registerHelper

    参考Using Global Template Helpers

    定义:

    Template.registerHelper 'hasPermission', (permission, scope) ->

          return hasPermission(permission, scope, atLeastOne)

    使用:

    {{hasPermission "a"  "b"}} 

    {{hasPermission "a"}}

    <template name="main">

    {{#if subsReady}}

    {{> status}}

    {{> Template.dynamic template=center}}

    {{> sideNav }}

    {{else}}

    {{> pageLoading}}

    {{/if}}

    </template>

    顺序加载,blaze的动态渲染,也会先进行main create rendered->  status create rendered-> center create rendered-> sidenav create rendered

    {{{html 代码不支持script 标签 link标签}}} //这也是template并没有完全像jquery,所以依然要使用javascript做添加




    更新mongodb的template不要在oncreated,onrendered中运行 defer,interval等timers

    RoomRoles.find({ rid: @data._id }).observe

    added: (role) =>

    changed: (role, oldRole) =>

    removed: (role) =>

    相关文章

      网友评论

          本文标题:meteor 1.4更新之后的变革

          本文链接:https://www.haomeiwen.com/subject/fwrcettx.html