jjzjj

FrontEnd

全部标签

javascript - 为什么 Vue.js 使用 VDOM?

AccordingtoVue.js'documentation,它在底层使用VDOM来呈现UI。据我了解,VDOM的发明主要是为了避免“跟踪依赖”。使用VDOM,可以在不知道到底发生了什么变化的情况下协调应用程序的更大部分。因此,可以使用普通对象和数组来描述View,只需要通知框架有关更改(如React中的setState)。然后,比较两个VDOM树并将所需的最小更改集应用到真实的DOM。另一方面,Vue.js使用跟踪依赖项。它确切地知道发生了什么变化,因此可以使用DOM绑定(bind)。此外,由于大多数Vue.js用户已经在使用模板语言,因此它并没有真正受益于VDOM提供的更大灵ac

javascript - Angular Material : Hide Autocomplete Panel when User hits enter Key

我目前正在开发一个表格,用户可以通过按Enter键在可编辑元素中切换。我也在其中使用了AngularMaterial。我有一个mat-form-field,其中包含几个动态创建的输入字段和mat-autocomplete元素。然而,我的输入键事件在这方面有点不同。当您按下输入字段时,将打开一个面板(下拉菜单),用户可以在其中选择输入或者他可以简单地自己编写,面板将提供建议(自动完成)。如果按Tab键会发生什么?如果您在键入时按Tab键,光标将移动到下一个可编辑元素,并且最新元素的面板(下拉列表)将关闭。如果你按下回车键会发生什么如果您在键入时按回车键,光标将移动到下一个可编辑元素,但是

javascript - 控制台集成 : get number of errors/warnings thrown?

所以如果你打开检查器,你会得到这个(如果你不走运的话):我正在构建一个显示调试信息的微型JS组件-有什么方法可以读取到目前为止遇到的错误和警告的数量吗?我想出的一个hacky解决方案涉及一些技巧,用我自己的函数替换console.(error|log|warn)函数,但我还没有测试它是否有效对于所有情况(例如,在我拥有的代码之外)。有更好的方法吗? 最佳答案 如this回答中所述,更改native对象/方法的行为通常不是一个好主意。但是,以下代码应该以一种相当无害的方式为您提供所需的内容://AddthisIIFEtoyourcod

javascript - 你能在 Angular 中嵌入一个子指令吗?

我希望能够在我的应用中做这样的事情:{{item.name}}在哪里pill-autocomplete有一个像这样嵌入到子指令中的模板:考虑到ng-transclude创建范围和这似乎是不可能的指令具有隔离作用域。我想到的实现此目的的一种方法是将pill模板注入(inject)自动完成的模板函数中。问题在于它失去了包含范围。我还必须在每个与药丸有类似行为的指令中执行此操作。在Angular1.x中有没有其他方法可以实现这一点? 最佳答案 问题是,当您将数据从pill-autocomplete转入pill时,您已经删除了pill中的内

javascript - 由于外部库,Webpack 构建速度非常慢

我尝试将webpack用于我的应用程序,但它每次构建我的应用程序需要60-100秒。我如何禁用node_modules/*和bower_components/*的重建文件或为单独的block(每个模块或共享)构建它们。这里是配置的一部分:{test:/\.js$/,exclude:/(node_modules|bower_components)/,loaders:['ng-annotate','babel-loader']},和resolve:{moduleDirectories:['node_modules','bower_components']},如何通过禁用每次重建库来提高性能

javascript - 如何在 Angular Material 动画之后执行代码

我正在使用AngularMaterial在一个网站上。作为响应式框架,它处理不同窗口大小的渲染。改变窗口大小时,添加一些布局变化和控件移动的动画示例:https://material.angularjs.org/latest/demo/gridList(打开链接并调整窗口大小)我在示例中显示的图block上有一些WebGLCanvas,需要在动画完成后重新绘制(并且容器具有最终尺寸)。如何获得一些回调或promise以完成UI动画? 最佳答案 此问题的解决方案是将属性md-on-layout添加到md-grid-list(docs)

javascript - jsTree:progressive_render 与数组中的 ajax/render 节点

这是关于jsTreejQueryplugin.我已经为此苦苦挣扎了一段时间,现在才意识到这是不可能(native)做到,所以我考虑了下面我的问题的以下解决方案(这是行不通的)。我有一棵树,它使用带有ajax的json_data插件。一旦你打开一个特定的节点,服务器的结果是一个超过1000的数组json节点。响应非常快,但渲染本身需要一段时间(用户体验是他得到了烦人的“脚本不是响应-停止脚本/继续”消息。我想到的解决方案是限制从服务器到一个较小的数字(比如200)并使用一些“显示更多”标签(或使用jQuery滚动事件)来获取下一个200。但是,在每个节点上使用jstree.create似

javascript - connect 和 withRouter 问题

我正在为我的项目使用Redux和React。我在App.js中有一些路由。我也在我的项目中使用react-redux中的connect函数。为了防止更新阻塞问题,我通常以这种方式包装我的组件withRouter(connect(mapStateToProps,mapDispatchToProps)(App)),但是,如果我更改了withRouter的顺序并连接它就不起作用了:connect(mapStateToProps,mapDispatchToProps)(withRouter(App))我在App.js中有console.log属性。它已经收到位置和历史Prop。我正在弄清楚为什

javascript - 在 ReactJS 中从哪里发出初始 AJAX 请求

我有一个页面需要加载一些初始Ajax数据。我阅读了这个Reactjspage我应该在componentDidMount中进行调用。从componentDidMount发出请求的优势是什么,而不是componentWillMount? 最佳答案 当使用服务器渲染时,componentWillMount被调用但componentDidMount没有被调用。因此,我倾向于在componentDidMount中进行任何需要浏览器的初始化(包括Ajax和DOM操作)。 关于javascript-在

javascript - Fabric JS - 将对象发送到后台

当您选择一个对象(在我的例子中是一个多边形)时,它会自动移动到前面。我正在寻找一种方法来防止在z轴上移动或在选择后将其向后发送,也许有人可以提供帮助?这是一个简单示例的链接:http://jsfiddle.net/98cuf9b7/1/当您选择其中一个多边形时,它会移到前面。我试图在选择后将它向后发送,但即使调用了“canvas.sendToBack(object)”函数,它仍然留在前面。我的示例中的代码是:varcanvas=newfabric.Canvas('c');varpol=newfabric.Polygon([{x:200,y:0},{x:250,y:50},{x:250,