考虑这个简单的例子(以红色显示):
echo -e "\033[31mHello World\033[0m"
它在终端上以红色正确显示.现在考虑:
watch echo -e "\033[31mHello World\033[0m"
它不显示颜色.
注意:我知道通过清除和重新运行来编写一个模仿基本行为的循环很容易.但是,清除操作会导致屏幕闪烁,这在手表下不会发生
编辑:最初这个问题指定了转义序列而不是vt100序列,但这不是我所追求的,并且用单引号解决了.
当我在c#中逐步执行代码(不确定它是否是VB.NET中的问题)并查看存储在字符串变量中的SQL时,有时我喜欢将其复制并粘贴到记事本或我的SQL程序中.但是,如果它包含回车符,它实际上会复制到我的剪贴板中line1\r\nline2.是否存在使用实际回车而不是回车转义代码复制此方法的本机方法?
编辑:这也适用于显示为的标签\t.发生这种情况是因为我的代码是从文本文件中读取SQL而文本文件包含回车符和制表符.另一种方法是1)在SQL中没有任何回车符或制表符(这使得丑陋的SQL)或2)在将SQL读入我的字符串变量时将它们删除.不过,为了简化调试过程,我并不是真的热衷于这些选项.
debugging copy-paste watch visual-studio-2010 carriage-return
我有一个指令,我在指令范围的'existingfiles'模型上添加了一个监视.当模型通过范围发生变化时.$ apply,监视器中没有调用监听器.
这是指令代码,请告诉我,如果我在这里遗漏了一些东西,
directive('fileuploadPlugin', function() {
var linkFn;
linkFn = function(scope, element, attrs) {
angular.element(element).ready(function() {
jQuery('#fileupload').fileupload({
done: function (e, data) {
scope.$apply(function(scope) {
for(var i=0; i < data.result.filesuploaded.length; i++){
scope.existingfiles.push(data.result.filesuploaded[i]);
};
});
}
});
scope.$watch('existingfiles', function(newValue, oldValue) {
element.imagesLoaded(function() {
scope.$apply( function() {
element.masonry({
itemSelector : '.box'
});
});
});
});
};
return {
templateUrl : 'templates/fileupload_plugin.htm',
restrict : 'A',
scope : {
existingfiles : '=ngModel',
},
link : linkFn
};
})
Run Code Online (Sandbox Code Playgroud)
这是我对指令的呼吁,
<div fileupload-plugin ng-model="existingfiles"></div>
Run Code Online (Sandbox Code Playgroud)
请告诉我如何确保正确观看模型
我想知道是否可以配置监视任务来观察两个不同的文件夹并在每个文件夹上执行不同的任务.例如,每当更改/ folder1时,都应该执行task1,只要在/ folder2中更改了某些内容,就应该执行task2.
文件夹结构具有以下形式:root | -folder1 | -folder2
我试图在AngularJS中设置一个手表,我显然做错了什么,但我无法弄明白.手表在即时页面加载时触发,但是当我更改观察值时,它不会触发.为了记录,我还在匿名函数上设置监视以返回监视变量,但是我得到了完全相同的结果.
我已经在下面编写了一个最小的例子,在控制器中执行所有操作.如果它有所不同,我的实际代码被挂钩在指令中,但两者都以相同的方式失败.我觉得我必须要有一些基本的东西,但我只是看不到它.
HTML:
<div ng-app="testApp">
<div ng-controller="testCtrl">
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
JS:
var app = angular.module('testApp', []);
function testCtrl($scope) {
$scope.hello = 0;
var t = setTimeout( function() {
$scope.hello++;
console.log($scope.hello);
}, 5000);
$scope.$watch('hello', function() { console.log('watch!'); });
}
Run Code Online (Sandbox Code Playgroud)
超时工作,hello增量,但手表不会触发.
Yeoman的快速入门和包管理器指南建议使用Bower来管理依赖项.
他们安装进去了
app/bower_components/[component_name]
Run Code Online (Sandbox Code Playgroud)
该指南只是建议插入一个
<script src="app/bower_components/[component_name]/[relevant_file.js]"></script>
Run Code Online (Sandbox Code Playgroud)
行到你的html文件.
没关系.除非该组件具有依赖性.Bower帮助提取这些组件,但据我所知,它没有给出它们的列表以及它们需要插入代码的顺序.(我知道你得到一个安装时已安装的内容列表,并且可以从某个地方的json文件中挖出它,但这仍然只是bower的组件名称,而不是需要的实际文件的路径引用).这意味着,对于像jquery-maonsonry这样的流行组件,我必须手动插入
<script src="bower_components/get-size/get-size.js"></script>
<script src="bower_components/doc-ready/doc-ready.js"></script>
<script src="bower_components/eventEmitter/EventEmitter.js"></script>
<script src="bower_components/eventie/eventies.js"></script>
<script src="bower_components/get-style-property/get-style-property.js"></script>
<script src="bower_components/jquery-bridget/jquery-bridget.js"></script>
<script src="bower_components/matches-selector/matches-selector.js"></script>
<script src="bower_components/outlayer/outlayer.js"></script>
<script src="bower_components/jquery-masonry/masonry.js"></script>
Run Code Online (Sandbox Code Playgroud)
我必须进入所有这些并找到相关的js文件名.鉴于所有这些文件都已经在json依赖项文件中定义,并且bower知道它们,有没有办法可以自动生成上面的代码.要么是我手动输入我的html,要么是指向watch命令输出的symLink.我知道require.js可能代表我管理这个问题,但是有办法解决需要吗?
基本上我想要这个http://plnkr.co/edit/3yfXbo1c0llO40HZ8WNP?p=preview但是当我改变东西时手表不会触发..
我知道这会奏效
$scope.$watch('stuff', function (newVal, oldVal) {
console.log(oldVal, newVal);
}, true);
Run Code Online (Sandbox Code Playgroud)
但是因为我想在手表内做一些总结而我不想不必要地循环或重新加总没有改变的值.
//编辑 - 请注意,plnkr示例只是从实际应用程序中提取,您可以在其中添加和删除行等等,例如从ng-repeat之外的另一个输入修改总数(某些事物和某些事物的总和). .
我遇到了VS 2012中最奇怪的行为(我在用cpp写作).
我在变量上单击"添加监视",并显示"标识符未定义".
这是代码的示例:
for (int j=0;j<32;j++)
{
unsigned char curValue=desc1.at<unsigned char>(0,j);
printf("%s\n",curValue);
}
Run Code Online (Sandbox Code Playgroud)
我不得不使用printf来显示curValue的值.大声笑.
有没有人遇到过这种行为?
编辑:发生这种情况更奇怪.调试以下代码时:
int b1[8];
for (int k=0;k<7;k++)
b1[k]=0;
char q=curValue;
int t=0;
while (q!=0){
b1[t++]=q%2;
q=q/2;
}
Run Code Online (Sandbox Code Playgroud)
调试器只是跳过b1 [k] = 0的循环;
请注意,即使在循环内部,curValue也是未定义的.
谢谢!
我找到了这个要点来检测对象的指定fiels的变化:https://gist.github.com/3138469
但它只在一个字段上绑定一个事件.
有人知道一个函数或技巧来检测整个Javascript对象的变化吗?
有没有人可以告诉我如何让更快的任务加载.我真的想减少加载时间,因为大多数任务需要1秒才能加载.
特别是对于'手表'任务.当我在观察变化时,我真的想要更快地编译sass.
有任何想法吗?
感谢名单