• 每周总结③


    7-11

    1:backbone路由选择<a href="#xxxx">---锚点会加在url后面

    2:  SVN的使用 ①update 将SVN服务器最新版本下载到本地 ②commit将本地改动上传到SVN服务器

    这是因为,你代码可能不是最新的!比如你的代码是10月1日的下载的版本

    10月2日,呆B王更新了其中一个文件,比如是 test.java 上传了svn,10月3日,你也要修改 test.java 这个文件。如果说,你没有更新,直接修改。然后上传了svn。那现在svn上只有你一个人修改的代码,那现在svn上只有你一个人修改的代码。如果你更新了再修改,那等于是在呆B王修改的基础上再修改。那SVN上,你们2个的修改都保留下来了。


    3:机房管理结合了模板,模型,集合

    4:

    MODEL

    urlmodel.url() 
    返回模型资源在服务器上位置的相对 URL 。 如果模型放在其它地方,可通过合理的逻辑重载该方法。 生成 URLs 的默认形式为:"/[collection.url]/[id]", 如果模型不是集合的一部分,你可以通过指定明确的urlRoot覆盖。

    由于是委托到 Collection#url 来生成 URL, 所以首先需要确认它是否定义过,或者所有模型共享一个通用根 URL 时,是否存在 urlRoot 属性。 例如,一个 id 为 101 的模型,存储在 url 为 "/documents/7/notes" 的 Backbone.Collection 中, 那么该模型的 URL 为:"/documents/7/notes/101"

    urlRootmodel.urlRoot or model.urlRoot() 
    如果使用的集合外部的模型,通过指定 urlRoot 来设置生成基于模型 id 的 URLs 的默认url 函数。 "[urlRoot]/id"。通常情况下,你不会需要定义这一点。 需要注意的是urlRoot也可以是一个函数。

    var Book = Backbone.Model.extend({urlRoot : '/books'});
    
    var solaris = new Book({id: "1083-lem-solaris"});
    
    alert(solaris.url());

    idAttributemodel.idAttribute 
    一个model的唯一标示符,被储存在 id 属性下。如果使用一个不同的唯一的key直接和后端通信。可以设置Model的 idAttribute 到一个从key到 id 的一个透明映射中。

     
    var Meal = Backbone.Model.extend({
      idAttribute: "_id"
    });
    
    var cake = new Meal({ _id: 1, name: "Cake" });
    alert("Cake id: " + cake.id);

    COLLECTION

    urlcollection.url or collection.url() 
    设置 url 属性(或函数)以指定集合对应的服务器位置。集合内的模型使用 url 构造自身的 URLs。

    var Notes = Backbone.Collection.extend({
      url: '/notes'
    });
    
    // Or, something more sophisticated:
    
    var Notes = Backbone.Collection.extend({
      url: function() {
        return this.document.url() + '/notes';
      }
    });

    5.

    syncmodel.sync(method, model, [options]) 
    使用 Backbone.sync 可以将一个模型的状态持续发送到服务器。 可以自定义行为覆盖。

    fetchmodel.fetch([options]) 
    通过委托给Backbone.sync从服务器重置模型的状态。返回jqXHR。 如果模型从未填充数据时非常有用, 或者如果你想确保你有最新的服务器状态。 如果服务器的状态不同于当前属性的"change"事件将被触发。 接受 success 和 error回调的选项散列, 这两个回调都可以传递(model, response, options)作为参数。

    // 每隔 10 秒从服务器拉取数据以保持频道模型是最新的
    setInterval(function() {
      channel.fetch();
    }, 10000);
    

    savemodel.save([attributes], [options]) 
    通过委托给Backbone.sync,保存模型到数据库(或替代持久化层)。 如果验证成功,返回jqXHR,否则为 false。 attributes散列(如set)应包含你想改变的属性 - 不涉及的键不会被修改 - 但是,该资源的一个完整表示将被发送到服务器。 至于set,你可能会传递单独的键和值,而不是一个哈希值。 如果模型有一个validate方法,并且验证失败, 该模型将不会被保存。 如果模型isNew, 保存将采用"create"(HTTP POST), 如果模型在服务器上已经存在, 保存将采用"update"(HTTP PUT)。

    相反,如果你只想将改变属性发送到服务器, 调用model.save(attrs, {patch: true})。 你会得到一个HTTP PATCH请求将刚刚传入的属性发送到服务器。

    通过新的属性调用save 将立即触发一个"change"事件,一个"request"事件作为Ajax请求开始到服务器, 并且当服务器确认成功修改后立即触发 一个"sync"事件。 如果你想在模型上等待服务器设置新的属性,请传递{wait: true}

    在下面的例子中, 注意我们如何覆盖Backbone.sync的版本,在模型初次保存时接收到"create"请求,第二次接收到 "update" 请求的。

     
    Backbone.sync = function(method, model) {
      alert(method + ": " + JSON.stringify(model));
      model.set('id', 1);
    };
    
    var book = new Backbone.Model({
      title: "The Rough Riders",
      author: "Theodore Roosevelt"
    });
    
    book.save();
    
    book.save({author: "Teddy"});
    

    save 支持在选项散列表中传入 success 和 error 回调函数, 回调函数支持传入(model, response, options) 作为参数。 如果服务端验证失败,返回非 200 的 HTTP 响应码,将产生文本或 JSON 的错误内容。

    book.save("author", "F.D.R.", {error: function(){ ... }});
    

    destroymodel.destroy([options]) 
    通过委托给Backbone.sync,保存模型到数据库(或替代持久化层)。 通过委托一个HTTP DELETE请求给Backbone.sync破坏服务器上的模型。 返回一个jqXHR对象, 或者如果模型isNew,那么返回false。 选项散列表中接受 success 和 error 回调函数, 回调函数支持传入 (model, response, options) 作为参数。 在模型上触发 "destroy"事件,该事件将会冒泡到任何包含这个模型的集合中, 一个"request"事件作为Ajax请求开始到服务器, 并且当服务器确认模型被删除后立即触发 一个"sync"事件。如果你想在集合中删除这个模型前等待服务器相应,请传递{wait: true}


    book.destroy({success: function(model, response) { ... }});

    6. JQXHR:JQuery伪造的XMLHTTPREQUEST对象

    7:怎么看传送过来的response对象,从Network中看到的请求,从请求中看到数据

    8: jQuery中find和filter的区别

    这是jQuery里常用的2个方法。
    他们2者功能是完全不同的,而初学者往往会被误导。


    现在有一个页面,里面HTML代码为;
    <div >

    <p class="rain">测试1</p>
    </div>


    <div class="rain">
         <p>测试2</p>
    </div>

    ①如果我们使用find()方法:

    var result = $("div").find(".rain");
    alert(result.html() ) ;
    结果:测试1
    ②如果使用filter()方法:
    var result = $("div").filter(".rain");
    alert(result .html() );
    结果:<p>测试2</p>
    find()会在div元素内寻找class为rain 的元素,是对它的子集操作
    filter()则是筛选div的class为rain的元素,是对它自身集合元素筛选


    9: jQuery中find和filter的区别

    10: self.template({machineList:self.machineList});

    11: model①save ②destory

    12:机房增改的save().done()

    ①直接用save()也可以添加机房

    ②save()成功验证时返回JQXHR

    ③JQXHR.done()是一个可供选择的success回调选项参数

    success(被done取代)

    类型: FunctionObject data, String textStatus, jqXHR jqXHR )
    请求成功后的回调函数。这个函数传递3个参数:从服务器返回的数据,并根据dataType参数进行处理后的数据,一个描述状态的字符串;还有 jqXHR(在jQuery 1.4.x前为XMLHttpRequest) 对象 。在jQuery 

    13:$("#xxx").tooltip(); jQuery UI工具提示框 --- segmentfault提问

     


     

    7-12

    1:machineList未定义---解决:引入MachineList①define[]②function($,MachineList,xx,xx)

    2:使用template时,利用print()在html进行输出很方便

    3:Jquery的fn是原型prototype

    $时jQuery的别名,实际调用的是jQuery.fn.init()(init是jquery的构造函数)

    4:MachineList方法each无效--解决:cloneTemp方法中的self改成this

    5:对密码设置的更新使用settimeout

    6:bootstrap源码阅读

    ①readonly属性

    .form-control[disabled],
    .form-control[readonly],
    fieldset[disabled] .form-control {
    background-color: #eee;
    opacity: 1;
    }

    ②让内容块居中

    .center-block

    {  display: block;

      margin-left: auto;

      margin-right: auto;

    }

    问题:

    jquery中用on来绑定事件,经常的写法有
    $(document).on('click','.classname',function(){});
    $('.classname').on('click',function(){});

    上面两种都是给类是classname的元素添加了click事件,那这两个写法有什么区别呢?在效率上哪个更好呢? 

    回答:

    $(document).on是把事件委托到document上,$('className').on是把事件绑定到.className元素上。效率方面,直接绑定在元素上会更为高效,绑定在document上,每次document有点击动作,浏览器都会判断当前点击的对象,如果匹配,再决定要不要执行,多了一个判断的环节。但在目前开发中,JS渲染效率很高,所以此异同基本可以忽略不计。此外,针对$(document).on的触发特点,延伸一下,$("className").on为onclick绑定,只有在页面onload的时候执行一次,当页面刷新后,新加载的具有className的元素便没有事件绑定到上面了,相反$(document).on这种方法会刷新和重新赋予绑定操作,所以一定程度上更为全面。

    ④使用(function() {}).call(this);包裹代码有什么好处,什么时候应该这样做?

    IIFE :immediately-invoked function expression 即使执行方法的一种

    答案:https://segmentfault.com/q/1010000002519489

  • 相关阅读:
    Tomcat 管理页面 403 Access Denied 解决方法
    解决 Flowable 部署在服务器上后 重定向为 localhost 问题
    删除数据库下的所有表结构
    Errcode: 13 "Permission denied"
    mysql-bin.index not found
    JPA 使用@Where 注解实现全局过滤
    Linux 安装 telnet
    JavaScript基础巩固系列——面向对象编程(构造函数、new、对象继承、对象拷贝、严格模式)
    Javascript基础巩固系列——标准库JSON对象
    Javascript基础巩固系列——标准库Math对象+Date对象
  • 原文地址:https://www.cnblogs.com/cndotabestdota/p/5662057.html
Copyright © 2020-2023  润新知