草庐IT

vue指令

全部标签

javascript - 如何正确使用带有 lodash debounce 的 Vue JS watch

我正在使用lodash在组件上调用去抖功能,如下所示:...import_from'lodash';exportdefault{store,data:()=>{return{foo:"",}},watch:{searchStr:_.debounce(this.default.methods.checkSearchStr(str),100)},methods:{checkSearchStr(string){console.log(this.foo)//问题1是我的方法checkSearchStr不知道foo问题2是我的商店也是undefined为什么我的方法在通过_.debounce调用

javascript - 如何访问指令链接中的 Controller 功能?

如何从指令链接访问指令Controller函数?传递给链接的波纹管Controller是空的,我想在其中加入show()hide()函数。我当前的指令:app.directive('showLoading',function(){return{restrict:'A',//require:'ngModel',scope:{loading:'=showLoading'},controller:function($scope,$element){return{show:function(){alert("show");},hide:function(){alert("hide");}};}

javascript - 正确实现 Vue.js + DataTables

我正在尝试实现Vue.js+jQuery的数据表,但发生了一件奇怪的事情。在firefox上检查这个fiddle(不适用于chrome):http://jsfiddle.net/chrislandeza/xgv8c01y/当我更改DataTable的状态时(例如排序、搜索等):列表中新增数据消失DOM没有读取指令或vue属性我很确定任何尝试混合使用vue.js和数据表的人都遇到过这个问题。你做了什么来解决这个问题?或者是否有一个纯Vue.js脚本/插件具有与jquery的DataTable相同(或接近)的功能?(分页、搜索、排序、要显示的条目数等)。这是上面fiddle的代码:HTML

javascript - 如何在 AngularJS 指令中的元素上绑定(bind)滚动事件

如何在AngularJS指令中的元素上绑定(bind)滚动事件?我在$window上绑定(bind)滚动条,但现在我需要将其更改为此类“.body-wrapper”(angular.element(document.queryselector(.body-wrapper))不起作用)。有什么想法吗?angular.element($window).bind("scroll",function(){...}) 最佳答案 没有理由它不应该工作。这个简单的例子表明它确实如此-varapp=angular.module('plunker',

javascript - vue.js 2 中哪个更好,使用 v-if 还是 v-show?

我在一个使用vue2的项目中工作。我需要知道在哪种情况下性能更好:使用v-if还是v-show?。我有一个长列表,每个项目的列表都有一个隐藏的表单,我需要显示和隐藏它才能单击包含每个项目列表的按钮。v-show的切换类或使用v-if添加和删除表单哪个更好? 最佳答案 tl;dr假设问题完全是关于性能的:v-show:昂贵的初始加载,便宜的切换,v-if:初始加载成本低,切换成本高。EvanYou在VueJS论坛上提供了更深入的答案v-showalwayscompilesandrenderseverything-itsimplyadd

javascript - 如何在 Vue Js 中使用字符串变量模式创建输入名称字段?

我使用VueJs,我需要提取javascript变量来生成隐藏字段。但我需要通过变量的索引来设置名称。我想使用之字形命名模式。喜欢,Javascript变量:vartest_template={0:{nb:2},1:{nb:1},2:{nb:4}};带有变量的Foreach以生成隐藏字段:这里,:name是一个用于访问vuejs值的动态实例。index是vuejs变量,但"segment"不是vuejs变量,它实际上是一个字符串。但我需要这个模式来生成输入数组。这可能吗?或者还有其他解决方案吗?提前致谢! 最佳答案 要通过索引创建具

javascript - Vue.js + 调用整页文档的点击事件

使用JQuery,可以捕获页面中任意项目的点击事件,如下所示。$(document).click(function(event){//event.targetistheclickedelementobject});如何用Vue.js做同样的事情? 最佳答案 answerprovidedbyMU是正确的并且有效。然而,如果您不喜欢弄乱您的模板(例如,不要在其中放置很多事件处理程序)或者您的Vue应用程序只是更大应用程序的一小部分,那么注册事件处理程序也是完全可以接受的手动。要在脚本中添加全局事件处理程序Vue方式,您应该在mounte

javascript - Vue js 在更改路由时重新渲染相同的组件

我有一个在登录和注册路径中都使用的身份验证组件。constroutes=[{path:'/',name:'home',component:Home},{path:'/signin',name:'signin',component:Auth},{path:'/signup',name:'signup',component:Auth}];例如,如果我在登录页面问题是如果我在文本输入中键入一些内容并转到注册,文本仍然存在,我如何强制组件重新初始化? 最佳答案 更好的方法实际上是将路由路径绑定(bind)到路由器View的键,即这样做会强制

javascript - 自定义指令中的自动增量值

我的自定义指令模板中有一个关于自动递增数字的问题。我需要的功能是在单击按钮时添加动态HTML内容。主.html指令-ant-add-template-button.jsapp.directive('antAddTemplateButton',function($compile){return{restrict:'A',link:function(scope,element,attrs){$(element).on('click',function(){varcompiledeHTML=$compile('')(scope);$('div.'+attrs.parent).append(c

javascript - 指令,包装内容并将属性保留在原始元素上

我在创建一个包装指令所应用的元素(及其子元素)的指令时遇到了一些麻烦。考虑到AngularJS中许多其他常见的事情是多么容易,我不明白为什么这个看似常见的场景会如此困难,所以很可能是我在这里遗漏了一些东西。我想做的是将一个选择元素包装在一个div中。我正在使用transclude来保留原始选择元素及其内容,但我无法使其正常工作。HTML看起来像这样:我的指令是这样的:directiveModule.directive("mlbSelect",function(){return{template:''+''+'',transclude:'element',replace:true}});