小编euv*_*uvl的帖子

Vue.js - 来自指令的Emit事件

是否有可能发出一个自定义事件,从该指令到该指令所连接的组件.

我希望它能像示例中所描述的那样工作,但事实并非如此.

例:

//Basic Directive
<script>
  Vue.directive('foo', {
    bind(el, binding, vnode) {
      setTimeout(() => {
        //vnode.context.$emit('bar'); <- this will trigger in parent
        vnode.$emit('bar');
      }, 3000);
    }
  });
</script>


//Basic Component
<template>
  <button v-foo @bar="change">{{label}}</button>
</template>
<script>
  export default{
    data() {
      return {
        label: 'i dont work'
      }
    },
    methods: {
      change() {
        this.label = 'I DO WORK!';
      }
    }
  }
</script>
Run Code Online (Sandbox Code Playgroud)

关于此事的任何想法?我错过了什么吗?

JSFiddle:https://jsfiddle.net/0aum3osq/4/

更新1:

好吧,我发现如果我在指令中调用vnode.data.on.bar.fn();(或fns()在最新的Vue版本中)它将触发bar事件处理程序.

更新2:

临时解决方案:

  /*temp. …
Run Code Online (Sandbox Code Playgroud)

javascript vue.js vue-component

16
推荐指数
1
解决办法
9110
查看次数

Vue.js - 如何跟踪全局点击事件

js和生成此弹出窗口的代码,当单击navbar-link元素时,popover将显示或隐藏.popover当我点击屏幕上的任何地方时(如果弹出窗口打开),关闭会更好.

有什么想法可以实现吗?

<template>
  <div>
    <span class="navbar-link" v-on:click="toggle()">
      <i class="ion-android-notifications-none"></i>
    </span>
    <div class="popover" v-bind:class="{ 'open': opened }">
      Hello, world!
    </div>
  </div>
</template>
<script>
  export default{
    data(){
      return {
        opened: false
      }
    },
    methods: {
      toggle: function () {
        this.opened = !this.opened;
      }
    }
  }
</script>
Run Code Online (Sandbox Code Playgroud)

先感谢您 :)

javascript vue.js

6
推荐指数
1
解决办法
3240
查看次数

如何在屏幕截图上忽略我的应用程序窗口?(斯威夫特2.0)

我想获取屏幕的图像,忽略我的应用程序的窗口。

在 Objective-C 中找到了一个代码示例,并尝试将其转换为 Swift。

Objective-C 截图:

// Get onscreen windows
CGWindowID windowIDToExcude = (CGWindowID)[myNSWindow windowNumber];
CFArrayRef onScreenWindows = CGWindowListCreate(kCGWindowListOptionOnScreenOnly, kCGNullWindowID);
CFMutableArrayRef finalList = CFArrayCreateMutableCopy(NULL, 0, onScreenWindows);
for (long i = CFArrayGetCount(finalList) - 1; i >= 0; i--) {
    CGWindowID window = (CGWindowID)(uintptr_t)CFArrayGetValueAtIndex(finalList, i);
    if (window == windowIDToExcude)
            CFArrayRemoveValueAtIndex(finalList, i);
}
// Get the composite image
CGImageRef ref = CGWindowListCreateImageFromArray(myRectToGrab, finalList, kCGWindowListOptionAll);
Run Code Online (Sandbox Code Playgroud)

我在 Swift 中的版本(到目前为止我已经成功了):

// Get onscreen windows
let windowIDToExcude = myNSWindow.windowNumber!
let onScreenWindows = CGWindowListCreate(kCGWindowListOptionOnScreenOnly, kCGNullWindowID)
let finalList …
Run Code Online (Sandbox Code Playgroud)

macos objective-c swift

3
推荐指数
1
解决办法
1533
查看次数

从gulp任务运行节点js脚本

我在一个文件夹(scripts/*.js)中有许多js脚本.如何从gulp任务执行它们(而不是多次使用'node script.js')?

就像是

gulp.task('exec_all_scripts', function () {
  gulp.src(path.join(__dirname, './scripts/*.js'))
})
Run Code Online (Sandbox Code Playgroud)

javascript task node.js gulp

1
推荐指数
1
解决办法
5223
查看次数

如何在localStorage中存储对象数组?

我有3个单选按钮说x,yz.在clickx,数据加载等..

现在在localStorage中,我想为其设置数据x,y并以z不同方式获取数据.

在这里,我将提供该计划的样本.

使用Javascript:

var setInLocalStorage = function(){
    //on click of  x radio and getting data from model and called 
    // from one  function
    var x = {
        t = model.x.t;
        d = model.x.d;
    }
    localStorage.setItem('x' ,JSON.stringyfy(x));
}

var getFromLocalStorage = function() { 
    var obj = JSON.parse(localStorage.getItem('x'));
    //storing back to model
    model.x.t = obj.t;
    model.x.d = obj.d; 
    // populating data on screen which was …
Run Code Online (Sandbox Code Playgroud)

javascript angularjs

0
推荐指数
1
解决办法
1605
查看次数