我想在watch调用中使用自定义函数。这是一个虚拟示例:
my_fun(){
head -c2
}
echo hello | my_fun
# he
watch 'echo hello | my_fun'
# my_fun: command not found
Run Code Online (Sandbox Code Playgroud)
我怎么watch知道my_fun?
我有一个简单的文件观察器构建 chokidar
require('chokidar').watch('./target.txt', {}).on('all', function(event, path) {
console.log(event, path);
}).on('ready', function() {
console.log('ready');
});
Run Code Online (Sandbox Code Playgroud)
change每次我重新保存文件时,即使没有更改,它也会引起事件。只有在实际内容已更改的情况下,才有办法使此火灾事件发生吗?
我angular-cli在 Visual Studio 2017 中有一个基于项目。我按照以下链接进行了此设置,并且可以正常工作。
http://candordeveloper.com/2017/04/12/how-to-use-angular-cli-with-visual-studio-2017/
我的预构建事件中有以下内容:
echo "cd $(SolutionDir)" &&^
cd "$(SolutionDir)" &&^
echo "Building Project" &&^
ng build &&^
echo 'copy files' &&^
Run Code Online (Sandbox Code Playgroud)
当我在 Visual Studio 中构建或重建项目时,这很好用。它基于 angular-cli.json 在我的输出目录中生成包文件。
但我需要一种方法来观察ng buildVisual Studio 内部的变化。我ng build --watch在 Pre Build 事件中尝试过,但在进行此更改后,我的 Build 过程卡住了。我可以看到使用所有正确的包文件生成的输出目录,但构建过程在 Visual Studio 2017 中从未完成。
作为一种解决方法,我没有ng build --watch在单独的命令窗口中运行。这有效并观察 TypeScript、HTML、CSS 更改和重建(如预期)。但想将其集成到 Visual Studio 2017 中。
注意:"compileOnSave": true我的 tsconfig.json 中已经有了,但它与ng build. 谢谢。
我有一个与此处报告的示例非常相似的 Vue 组件:
watch: {
query(n, o) {
// Display loading animation
this.loading = true;
// Search debounced
this.debouncedSearchUser();
}
},
Run Code Online (Sandbox Code Playgroud)
query使用v-model以下方法绑定到文本输入的字符串变量在哪里:
data() {
return {
query: "",
loading: false,
results: []
}
},
Run Code Online (Sandbox Code Playgroud)
一切正常,除了在 android 的 chrome 上,手表触发器只触发一次(当query从""我写的任何内容更改时)。
任何的想法?
编辑:
问题似乎与v-model指令有关:我对本机 javascript 事件进行了一些实验,并且在我取消对输入的关注之前,不会更新 v-model 的值。如果有人对这里感兴趣是绑定:
<input v-model="query" class="input-text-light pad-s-m f-m"/>
Run Code Online (Sandbox Code Playgroud)
有什么办法可以使用 watch 和 来解决这个问题v-model?
我想在bash中结合watch命令使用alias命令.watch命令是多个链式命令.
一个非常简单的例子,我认为它会起作用(但它没有):
alias foo=some_command # a more complicated command
watch -n 1 "$(foo) | grep bar" # foo is not interpreted as the alias :(
Run Code Online (Sandbox Code Playgroud) 预先感谢您帮助我。
我想根据目录内的更改创建产品构建src。为此,我使用watch了 npm 包。下面是我的“脚本”里面package.json
"scripts": {
"webpack-dev-server": "webpack-dev-server",
"dev": "watch 'npm run prod' src",
"prod": "webpack --mode=production"
},
Run Code Online (Sandbox Code Playgroud)
现在当我运行npm run dev命令时。它给了我:
错误: ENOENT:没有这样的文件或目录,stat 'E:\projects\chatapp\run'
我试图(每秒)观察 github 中文件的提交历史记录,并查看提交历史记录中的日期对象是否发生变化。如果提交日期在观看后 30 秒内发生变化,我想停止观看并回显“遇到更改”,否则我想停止观看并回显“我已经观看了 30 秒,没有遇到任何变化。我厌倦了寻找!” 。
使用的变量
下面的 watch 命令可以工作,但必须手动终止(ctrl + c)
watch -n 1 "curl -H \"授权:令牌 $mytoken\" \"$myPGREADMECommitHist\" >challenge1CommitObj.json && jq '.[0].commit.author.date'challenge1CommitObj.json >challenge1Output.txt && cat挑战1输出.txt”
我尝试在 watch 命令之后使用 sudo Kill 命令,但该命令不起作用 sudo Kill -9 -INT $(pidof watch)
我还尝试过 timeout 命令和 watch 命令,但它不起作用 timeout 10s watch...
我尝试过使用 sleep 命令执行 do while 操作,但我仍然想看看 watch 命令是否可以在特定时间后被终止,或者在特定时间内遇到更改时被终止。
我有一个问题。我开始在 Android Studio 中编码,我想选择 iOS Simulator。但是,我只能选择Open iOS Simulator打开的选项..手表!
我如何将手机作为模拟器启动?
我尝试进入模拟器本身,但找不到任何方法来做到这一点。
考虑以下非常基本的插件:
import SomeObject from "./SomeObject";
/**
* Some Cool Plugin...
*/
export default {
install(Vue){
Vue.prototype.$someObject = Vue.observable(SomeObject);
}
}
Run Code Online (Sandbox Code Playgroud)
上面的目的是在我的应用程序中注册一个反应性的对象。
Vue.prototype.$someObject包含某些需要watched在全局级别而不是组件级别上的属性。
有没有办法在installVue 插件的方法中将观察者附加到 Vue 实例?
请注意,我不是在寻找以下答案,我已经知道这是可以做到的,但它违背了将代码分成插件的意义。全局混合也不够......
watch: {
'$someObject.foo': {
handler(value) {
console.log(value);
}
}
}
Run Code Online (Sandbox Code Playgroud)
根据此处概述的文档,我假设我可以按照以下方式做一些事情:
export default {
install(Vue){
Vue.prototype.$someObject = Vue.observable(SomeObject);
// I have tried all of the following:
Vue.watch(Vue.prototype.$someObject.foo, value => { console.log(value) });
Vue.$watch(Vue.prototype.$someObject.foo, value => { console.log(value) });
Vue.prototype.watch(Vue.prototype.$someObject.foo, value => …Run Code Online (Sandbox Code Playgroud) 我有一个带有名为“volume”的状态属性的组件,它绑定到滑块元素。我有一个绑定到卷属性的观察程序,这样当更新卷时,应该触发一个函数
data () {return {
volume: 0,
}},
methods: {
testMethod () {
console.log("this is firing")
}
},
watch: {
volume: (v) => {
console.log("volume has been updated", v);
this.testMethod();
}
}Run Code Online (Sandbox Code Playgroud)
运行此代码时,控制台显示错误“无法读取未定义的“testMethod”属性”
我尝试过其他方法,例如访问 $store (这是我最初的问题),但也未能解决。