精华内容
下载资源
问答
  • 怎样理解C#的托管

    2013-05-06 16:36:57
    怎样理解C#的项目管理  托管,把他理解成为一个 方法的类型;

    怎样理解C#中的项目管理

                  托管,把他理解成为一个 方法的类型;

                 

    展开全文
  • 怎样理解Vue的路由

    千次阅读 2019-04-28 13:02:22
    传统的路由指的是:当用户访问一个url时,对应的服务器会接收这个请求,然后解析url的路径,从而执行对应的处理逻辑。这样就完成了一次路由分发。 而前端路由是不涉及服务器的,是前端利用hash或者HTML5的history ...

    1. 路由

    • 传统的路由指的是:当用户访问一个url时,对应的服务器会接收这个请求,然后解析url中的路径,从而执行对应的处理逻辑。这样就完成了一次路由分发。
    • 而前端路由是不涉及服务器的,是前端利用hash或者HTML5history API来实现的,一般用于不同内容的展示和切换。

    目前Vue 推荐单页面应用 SPA 开发模式,大型单页应用最显著特点之一就是采用前端路由系统,通过改变URL,在不重新请求页面的情况下,更新页面视图。Vue中的路由解决方案为vue-router

    它提供两种不同方式的路由方式:HashHistory,在 vue-router 中是使用了外观模式将几种不同的路由方式提供了一个一致的高层接口,让我们可以更解耦的在不同路由方式中切换。HashHistory 除了外观上的不同之外,还有一个区别是:Hash 方式的状态保存需要另行传递,而 HTML5 History 原生提供了自定义状态传递的能力,我们可以直接利用其来传递信息。

    vue-router中是通过mode这一参数控制路由的实现模式的:

    在这里插入图片描述

    2. Hash

    Hash 方法是在路由中带有一个 #,主要原理是通过监听 # 后的 URL 路径标识符的更改而触发的浏览器 hashchange 事件,然后通过获取 location.hash 得到当前的路径标识符,再进行一些路由跳转的操作,参见 MDN:

    • location.href:返回完整的 URL
    • location.hash:返回 URL 的锚部分;
    • location.pathname:返回 URL 路径名;
    • hashchange 事件:当 location.hash 发生改变时,将触发这个事件。

    比如访问一个路径 http://sherlocked93.club/base/#/page1,那么上面几个值分别为:

    
    # http://sherlocked93.club/base/#/page1
    {
      "href": "http://sherlocked93.club/base/#/page1",
      "pathname": "/base/",
      "hash": "#/page1"
    }
    

    看一个例子:

    <html>
    <head>
      <style>
        li {
          cursor: pointer;
        }
      </style>
    </head>
    <body>
    <div id="main">
      <p>router-hash</p>
      <ul id="list">
        <li><a href="#router1">router1</a></li>
        <li><a href="#router2">router2</a></li>
        <li><a href="#router3">router3</a></li>
      </ul>
      <div id="panel"></div>
    </div>
    
    <script>
      window.onload = function () {
        window.onhashchange = function (opt) {
          console.log('hash has changed to: ', location.hash)
        }
      }
    </script>
    </body>
    </html>
    

    效果:

    在这里插入图片描述
    当我们点击后退时,可见路由跳转回router2中。并且当我们刷新页面时不会报出404的错误,那是因为hash虽然出现在URL中,但不会被包括在HTTP请求中。它是用来指导浏览器动作的,对服务器端完全无用。

    3. History API

    HTML5History API为浏览器的全局history对象增加的扩展方法。一般用来解决ajax请求无法通过回退按钮回到请求前状态的问题。

    HTML4原有的和HTML5新提出的history的API有:

    • history.forward(); //在历史记录中前进一步
    • history.back(); //在历史记录中后退一步
    • history.go(n): //在历史记录中跳转n步骤,n=0为刷新本页,n=-1为后退一页。
    • history.pushState(data, title, url); //向历史记录中追加一条记录
    • history.replaceState(data, title, url); //替换当前页在历史记录中的信息
    • history.state; //是一个属性,可以得到当前页的state信息。
    • window.onpopstate; //是一个事件,在点击浏览器后退按钮或js调用forward()back()go()时触发。监听函数中可传入一个event对象,event.state即为通过pushState()replaceState()方法传入的data参数。

    以一个例子实现一下:

    <html>
    <head>
      <style>
        li {
          cursor: pointer;
        }
      </style>
    </head>
    <body>
    <div id="main">
      <p>vue-router</p>
      <ul id="list">
        <li>router1</li>
        <li>router2</li>
        <li>router3</li>
      </ul>
      <div id="panel"></div>
    </div>
    
    <script>
      window.onload = function () {
        window.onpopstate = function (event) {
          console.log(event)
        };
    
        document.querySelector('#list').addEventListener('click', function (event) {
          if(event.target.nodeName.toLowerCase()==="li") {
            var content = event.target.innerHTML;
            var _newState;
            _newState = {
              url: location.origin + '/' + content,
              title: document.title,
              state: content
            };
    
            window.history.pushState(_newState, '', '/' + content);
            console.log('you have change the router to: ', content);
          }
        })
      }
    </script>
    </body>
    </html>
    

    效果:

    在这里插入图片描述
    总而言之就是当浏览器访问一个页面时,当前地址的状态信息会被压入历史栈,当调用history.pushState()方法向历史栈中压入一个新的state后,历史栈顶部的指针是指向新的state的。可以将其作用简单理解为假装已经修改了url地址并进行了跳转 ,除非用户点击了浏览器的前进、回退,或是显式调用HTML4中的操作历史栈的方法,否则不会触发全局的popstate事件。以上例子中点击后退可见由当前的router2跳转到router3,控制台打印出popstate事件信息。

    当我们刷新页面的时候,会报出404的错误:

    在这里插入图片描述
    这也是history不同于hash的一个地方,是因为history模式则会将URL修改得就和正常向后端发起请求一样,如果后端没有配置对应的路由处理,则会返回404错误。

    官方推荐的解决办法是在服务端增加一个覆盖所有情况的候选资源:如果 URL 匹配不到任何静态资源,则应该返回同一个 index.html 页面,这个页面就是你 app 依赖的页面。

    参考:
    https://www.cnblogs.com/dashnowords/p/9671213.html 大史不说话
    https://juejin.im/post/5c52da9ee51d45221f242804 SHERlocked93

    展开全文
  • Java中怎样理解map

    2017-11-21 19:24:59
    既然map是由key-value对应起来的,那么我们为什么不直接将一个Person类用map保存呢?一样可以存储name,sex,age...等等这些信息呀?
  • 怎样理解vue的slot

    千次阅读 2018-03-21 15:57:14
    Slot 是在组件模板设置的用于在父组件插入其孙子组件(即自身的子组件)或DOM片段的插槽。匿名solt的使用子组件&lt;div&gt; &lt;h2&gt;我是子组件的标题&lt;/h2&gt; &lt;slot&...

    插槽(Slot)是Vue提出来的一个概念,正如名字一样,插槽用于决定将所携带的内容,插入到指定的某个位置,从而使模板分块,具有模块化的特质和更大的重用性。

    Slot 是在组件模板中设置的用于在父组件中插入其孙子组件(即自身的子组件)或DOM片段的插槽。

    匿名solt的使用

    子组件中

    <div>
        <h2>我是子组件的标题</h2>
        <slot></slot>   /*这里插入父组件在引用子组件内部的内容*/
    </div>

    父组件中

    <div>
        <h1>我是父组件的标题</h1>
        <slider>
            <p>这是一些初始内容</p>
            <p>这是更多的初始内容</p>
        </slider>
    </div>

    最后结果

    <div>
        <h1>我是父组件的标题</h1>
        <div>
            <h2>我是子组件的标题</h2>
            <p>这是一些初始内容</p>
            <p>这是更多的初始内容</p>
        </div>
    </div>

    当我们要在一个组件中引入另外一个组件时,子组件就可以使用slot,父组件则引入子组件的组件名即可。

    具名slot

    具名Slot就是会为模板中不同部分指定相应的插入位置。但是当部分内容没有找到对应的插入位置,就会依次插入匿名的slot中,

    当没有找到匿名slot时,这段内容就会被抛弃掉。

    子组件中

    <div>
        <slot name="header"></slot>
        <slot name="footer"></slot>
        <slot></slot>
    </div>

    父组件中

    <slider>
        <p>Lack of anonymous slot, this paragraph will not shown.</p>
        <p slot="footer">Here comes the footer content</p>
        <p slot="header">Here comes the header content</p>
    </slider>

    最后结果

    <div>
        <p>Here comes the header content</p>
        <p>Here comes the footer content</p>
        <p>Lack of anonymous slot, this paragraph will not shown.</p>
    </div>

    展开全文
  • 驻波比(VSWR)用来检测天馈线系统、射频接头以及所有的连接到基站的射频设备的工作状态。VSWR过高会导致掉话、高误码率,而且由此引入的发射/接受功率的衰减会导致小区覆盖半径缩小。  只有负载阻抗与信号源阻抗...
  • 怎样理解Verilog的assign?

    千次阅读 2018-05-29 09:24:26
    assign相当于一条连线,将表达式右边的电路直接通过wire(线)连接到左边,左边信号...综合结果图:当对一组信号进行assign,就需要放到generate,并用for语句包起来,并且注意,在Synopsys DC, 每个for 都要配上b...



    assign相当于一条连线,将表达式右边的电路直接通过wire(线)连接到左边,左边信号必须是wire型。当右边变化了左边立马变化,方便用来描述简单的组合逻辑。示例:
     wire a, b, y; 
     assign y = a & b;
    

    综合结果图:

    当对一组信号进行assign,就需要放到generate中,并用for语句包起来,并且注意,在Synopsys DC中, 每个for 都要配上begin end。示例:
    input  wire [QUANT*BITWID-1:0]       predecessor_vertex_i;
    wire [BITWID-1:0]   predecessor[0:QUANT-1];  
    genvar              j;
    generate
        for (j=0; j<QUANT; j=j+1)
        begin: vector2array
          assign predecessor_vertex[j][BITWID-1:0]
                   = predecessor_vertex_i[BITWID*(j+1)-1:BITWID*j];
        end
      endgenerate
    

    你可以理解为画一条导线,将等号两边的两个信号连起来

    转自:https://www.zhihu.com/question/24208772

    展开全文
  • 怎样理解TensorFlow的Tensor?

    千次阅读 2017-07-04 20:49:28
    Tensor翻译成中文是“张量”,在数学和物理学运用较多,那么TensorFlow的Tensor到底是什么呢?
  • class GenericBase<T> { private T element; public void set(T arg) { arg = element; } public T get() { return element; } } class Derived1<T> extends GenericBase<T> {} ...class Derived2 extends **...
  • 驻波比(VSWR)用来检测天馈线系统、射频接头以及所有的连接到基站的射频设备的工作状态。VSWR过高会导致掉话、高误码率,而且由此引入的发射/接受功率的衰减会导致小区覆盖半径缩小。  只有负载阻抗与信号源阻抗...
  • 怎样理解ansys的载荷步?一.载荷步的含义一个载荷步是指边界条件和载荷选项的一次设置,用户可对此进行一次或多次求解。一个分析过程可以包括:1.单一载荷步(常常这是足够的)2.多重载荷步有三种方法可以用来定义并...
  • 怎样理解python的GIL?

    2018-03-22 10:41:18
    一,GIL的概念:python全局解释器锁。二,GIL产生的原因:1,Guido van Rossum(吉多·范罗苏姆)创建python时就只考虑到单核cpu。2,解决多线程之间数据完整性和状态同步的最简单方法自然就是加锁。...
  • 前端DOM是什么,怎样理解dom

    千次阅读 2019-11-28 17:42:49
    前端DOM是什么,怎样理解? 首先我们来说一下DOM是什么? 文档对象模型(Document Object Model,简称DOM)。我个人认为他就是将,通过浏览器的一些规则解析后,在渲染成我们能够看得见的页面,这整个过程就是DOM...
  • 面向对象是一个很大的技术范畴,以下是我对于面向对象的一些粗浅的见解: 面向对象就我们知道的三个特性:继承、封装、多态。这三个特性让我们的代码更加的优秀。 首先我们来说说继承:继承的作用在我看来是有很...
  • 问题1:怎样理解这种用private修饰的嵌套接口? 问题2:正如上面两个内部类,一个是用private修饰的一个是public修饰的,然后都实现了这个私有话的接口,那么怎样来理解这两个不同修饰符的内部类实现都这个私有化...
  • 文字位置下的制表位位置,对应的是红圈制表符的位置,也就是编号后第一个文字的起始位置。 文字位置下的缩进位置,对应的是除首行以外所有行的左缩进位置。 现在看看完整的对应图,强化一下印象。 自定义...
  • 怎样计算集合推导式的值 推导式的整体概念是什么 推导式comprehensions(又称解析式),是Python的一种独有特性。推导式是可以从一个数据序列构建另一个新的数据序列的结构体。 python又有哪些推导式?格式又是...
  • 怎样理解KMP算法模式串后移的目标位置? 到这里大家对KMP应该有所了解,这里就不对KMP的相关概念进行介绍了。 KMP有个很基本的思想,就是当主串和模式串出现不匹配,需要进行下次匹配前,我们移动的是模式串,而非...
  • 最近遇到回调函数问题,有点不太理解,到底什么是回调函数,有何用途,与命令模式是不是有点关系!
  • 怎样理解异或

    千次阅读 2020-01-09 10:19:50
    异或是离散数学逻辑运算的一种二元计算,符号为⊕,当符号前后的两者分别为F和T时,结果才为T,若两者都是F,或两者都是T,则运算结果为F。即, V1 V2 结果 F F F F T T T F T T T F 两个数字也...
  • typeof常见的写法以下三种:typeof(xxx),typeof (xxx), typeof xxx。有些同学觉得type从用法形式上看像函数又不像函数,心里会有不少疑惑。其实从js官方文档上看,官方给出的定义,typeof是一种运算符,类似于加减...
  • 怎样理解多态

    千次阅读 2017-07-15 08:06:22
    比如,在发生多态时,如果传入参数是一个子对象,那么会调用子对象对应的成员方法,如果传入参数是一个父对象,那么会调用父对象的成员方法.C++多态的实现:C++多态的实现需要三个条件.1.存在继承关系 2.子类重写父类...
  • 怎样理解状态字

    2018-07-18 16:47:00
    问题:怎样理解状态字(status word)? /FC,首次检测位 ü 状态字的第0位——“/FC”称为“首次检测位”,控制一串逻辑指令的顺序。“/FC”位信号状态为“0”,说明用户程序从这一点开始下面的逻辑指令...
  • 一、hdfs的block是分布式存储的最小单元,类似于盛放文件的盒子,一个文件可能要占多个盒子,但一个盒子里的内容只可能来自同一份文件。假设block设置为128M,你的文件是250M,那么这份文件占3个block(128+128+2...
  • 怎样理解Java接口与API的区别

    千次阅读 2016-03-21 16:14:20
    定义一个Interface与发布的API的关系与区别是什么?
  • 怎样理解指标AUC

    2020-05-18 16:17:53
    理解AUC之前,首先理解一下以下两个指标: TPRate的意义是所有真实类别为1的样本,预测类别为1的比例。 FPRate的意义是所有真实类别为0的样本,预测类别为1的比例。 以FRRate为横坐标,TPRate为纵坐标,这就构成...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,050
精华内容 3,220
关键字:

怎样理解中