标签: watch

AngularJS $监视窗口调整指令内部的大小

我有暴露模块模式,看起来像这样:

'use strict';

angular.module('app', [])
   .directive('myDirective', ['SomeDep', function (SomeDep) {
       var linker = function (scope, element, attr) {
          // some work
       };

       return {
          link: linker,
          restrict: 'E'
       };
   }])
;
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是将$ watch集成到这里.通过'$ window'服务专门观看窗口调整大小.

[编辑]:

我一直意识到我的问题是什么......当我忘记我将它作为属性实现时,我正在限制元素... @ _ @;

resize directive window watch angularjs

48
推荐指数
2
解决办法
10万
查看次数

当reloadOnSearch为false时,AngularJs $ watch on $ location.search不起作用

我的routeProvider for route将reloadOnSearch设置为false:

 $routeProvider
     .when(
        "/film/list",
         {
          templateUrl: '/film/list.html', 
          controller: FilmListController,
          reloadOnSearch: false
          } 
          ....

  )
Run Code Online (Sandbox Code Playgroud)

我这样做是因为我不希望在查询字符串更改后重新加载整个控制器,但我仍然使用它,并且url看起来像这样:film/list?sort=isbn&order=asc&offset=0.现在每当查询字符串更改时,我想从我的控制器调用一个函数.所以我试着在控制器中设置$ watch:

$scope.location = $location;
$scope.$watch( 'location.search()', function( search) {
        $scope.list();
 });
Run Code Online (Sandbox Code Playgroud)

但这不起作用.如果我设置$ watch来查看查询字符串的单个参数的更改,那么它可以工作.但我不想为查询字符串的每个参数设置$ watch.我现在使用的解决方案是:

$scope.location = $location;
$scope.$watch( 'location.url()', function( url ) {
    if($location.path() == '/film/list')
        $scope.list();
 });
Run Code Online (Sandbox Code Playgroud)

因此,我不是观察搜索,而是观察整个网址,然后检查路径是否是我在routeProvider中设置的路径,以有条件地调用该函数.我不喜欢这个解决方案是我必须明确键入要匹配的$ location.path的值.

任何人都可以建议一个更好的解决方案,也许可以解释为什么$ watch不适用于$ location.search()

listener watch angularjs

46
推荐指数
4
解决办法
4万
查看次数

打破变量值的变化

与此处的其他问题类似,就像这一个.

有没有办法在任何JavaScript调试器中打破变量值的变化?(比如IE Developer工具,Visual Studio或Firebug)?

我想它就像是一个"监视变量",但我希望能够看到callstack并在实际发生变量变化时暂停它.

另一种方法可能是使用自定义setter覆盖值设置,并在其中放置断点,但不幸的是,这对IE AFAIK不起作用.

更新 似乎这种行为至少可用于用C++编写的非托管代码. 所以我想也许用C++编写的javascript引擎(谷歌的V8)可能有类似的东西,但似乎没有我想要的东西.

javascript debugging breakpoints watch

44
推荐指数
2
解决办法
3万
查看次数

Xcode 4中的表达式窗口在哪里?

如何在Xcode 4中添加要监视的表达式?

这应该是非常明显的,但事实并非如此.它似乎没有任何菜单或上下文点击可用.如果我可以突出显示变量或表达式,然后"添加到监视"或"添加表达式",那将是很好的.

debugging expression watch xcode4

42
推荐指数
2
解决办法
2万
查看次数

监视JavaScript中的对象属性更改

可能重复:
所有浏览器的Javascript Object.Watch?

我刚刚阅读了Mozilla的watch()方法文档.它看起来非常有用.

但是,我找不到类似于Safari的东西.Internet Explorer都没有.

如何管理跨浏览器的可移植性?

javascript properties cross-browser object watch

37
推荐指数
1
解决办法
5万
查看次数

在linux上查看文件大小

我想看一个单个文件不断增长的大小,所以我使用这个命令:

texai@maelstrom ~$ ls -lh club_prod.sql | awk '{print $5}'
116M
Run Code Online (Sandbox Code Playgroud)

现在我想每5秒看一次结果:

texai@maelstrom ~$ watch -n 5 ls -lh club_prod.sql | awk '{print $5}'
Run Code Online (Sandbox Code Playgroud)

但是这个命令不会返回任何结果

linux shell command-line watch

36
推荐指数
4
解决办法
3万
查看次数

AngularJS监视数据更改对象的数组

我正在实现购物车,并希望将数据存储在localStorage中.我想观察变量$scope.cart的变化,以便我可以更新localStorage

cart变量如下所示:

[{'name':'foo', 'id':'bar', 'amount': 1 },...]
Run Code Online (Sandbox Code Playgroud)

这是手表的代码.

$scope.updateCart = function(){
    localStorageService.add('cart',JSON.stringify($scope.cart));
    alert('cart updated');
};

$scope.$watch($scope.cart, $scope.updateCart(), true);
Run Code Online (Sandbox Code Playgroud)

这是用户更改模型的HTML.

<li ng-repeat="item in cart">
  {{item.name}} <input type="text" ng-model="item.amount">
</li>
Run Code Online (Sandbox Code Playgroud)

使用以下代码,updateCart()永远不会触发该方法.我不确定我做错了什么.我检查$scope.cart变量确实发生了变化,但未触发更新.

watch angularjs

36
推荐指数
2
解决办法
7万
查看次数

AngularJS从控制器触发并监视对象值的服务变化

我正试图从控制器中观察服务的变化.我在stackoverflow上尝试了很多基于很多qns的东西,但我一直无法使它工作.

HTML:

<div ng-app="myApp">
    <div ng-controller="MyCtrl">
        <div ng-click="setFTag()">Click Me</div>
    </div> 
</div>
Run Code Online (Sandbox Code Playgroud)

JavaScript的:

var myApp = angular.module('myApp',[]);

myApp.service('myService', function() {
    this.tags = {
        a: true,
        b: true
    };


    this.setFalseTag = function() {
        alert("Within myService->setFalseTag");
        this.tags.a = false;
        this.tags.b = false;

        //how do I get the watch in MyCtrl to be triggered?
    };
});


myApp.controller('MyCtrl', function($scope, myService) {

    $scope.setFTag = function() {
        alert("Within MyCtrl->setFTag");
        myService.setFalseTag();
    };        

    $scope.$watch(myService.tags, function(newVal, oldVal) {
        alert("Inside watch");
        console.log(newVal);
        console.log(oldVal);
    }, true);

});
Run Code Online (Sandbox Code Playgroud)

如何让手表在控制器中触发?

的jsfiddle

watch angularjs

35
推荐指数
1
解决办法
5万
查看次数

Angular JS $ watch vs $ on

我希望在父作用域中发生状态更改时在指令内执行函数.

实现这一目标的显而易见的方法是使用事件广播($ broadcast)和监听器($ on).

我很好奇,如果使用$ watch是事件广播的替代方案.如果是的话,两者如何比较?

据我所知,每个$ digest周期都会评估要监视的表达式.活动比手表更有效吗?

javascript events listener watch angularjs

34
推荐指数
1
解决办法
2万
查看次数

当我更改监视文件时,fs.watch会两次触发

 fs.watch( 'example.xml', function ( curr, prev ) {
   // on file change we can read the new xml
   fs.readFile( 'example.xml','utf8', function ( err, data ) {
     if ( err ) throw err;
     console.dir(data);
     console.log('Done');
   });
 });
Run Code Online (Sandbox Code Playgroud)

OUTPUT:

  • 一些数据
  • 完成X 1
  • 一些数据
  • 完成X 2

这是我的使用错误还是..?

watch node.js windows-8

28
推荐指数
5
解决办法
3万
查看次数