是否有可能发出一个自定义事件,从该指令在到该指令所连接的组件.
我希望它能像示例中所描述的那样工作,但事实并非如此.
例:
//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) 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)
先感谢您 :)
我想获取屏幕的图像,忽略我的应用程序的窗口。
在 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) 我在一个文件夹(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) 我有3个单选按钮说x,y和z.在click上x,数据加载等..
现在在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 ×4
vue.js ×2
angularjs ×1
gulp ×1
macos ×1
node.js ×1
objective-c ×1
swift ×1
task ×1