小编Jai*_*III的帖子

为什么外部更新的阵列不会自动刷新?

我有一个js类来处理一些逻辑,并试图在角度使用它,所以它可以自动更新当值更改不起作用时,只有当我使用角度函数工作时,引用是可以的,但我确定需要别的东西当数组外部变化时,告诉angular我需要它来监听.谢谢!

http://jsfiddle.net/9k2zw1ar/

//create class exposed to window
(function(w){

    var Foo=function(){
        this.add=function(){
            Foo.arr.push('js-'+(Math.random() * 100));
        }
    }
    Foo.arr=['a','b','c'];
    w.Foo=Foo;
})(window);
//instantiate one class , used in button
var foo=new Foo;
//angular app
var App= angular.module('App',[]);
//add array reference using "Value" 
App.value('arr',Foo.arr);
//angular controller
App.controller('ClientController', ['$scope','arr', function($scope,arr) {
  $scope.markers = arr;
  $scope.add=function(){
    arr.push('ng-'+(Math.random() * 100));
  };
}]);
Run Code Online (Sandbox Code Playgroud)

这是html代码

<div ng-app="App" >

<div ng-controller="ClientController">

  <div  ng-repeat='marker in markers'>
              <p> {{marker}}</p>

  </div>
    <button ng-click='add()'>add NG</button>
    <button  onclick="foo.add()">add js</button>
</div>

</div>
Run Code Online (Sandbox Code Playgroud)

问题: 当我使用"添加JS"按钮更改数组时,它不会自动更新.但是当我按下"添加"按钮时,阵列会立即显示和更新.

javascript class angularjs

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

标签 统计

angularjs ×1

class ×1

javascript ×1