如果数据随$watch而更改,Angujar 1.3 则无法
Angujar 1.3 can't if data change with $watch
我正在用Angular做一个网页.js其中我在表格中显示数据,用户可以编辑。 每当数据发生变化时,我都需要运行一个javascript函数,所以我的想法是使用$scope$ watch
。我的问题是,数据更改$scope$ watch
但无法运行。
这是我的代码(应用程序.js)的精简版
app.controller('DataCtrl', function($scope, ngTableParams) {
$scope.datos = [{x:1, y:2},
{x:3, y:5},
{x:2, y:8}];
$scope.tableParams = new ngTableParams({
page: 1, // show first page
count: 20, // count per page
}, {
total: $scope.datos.length, // length of data
getData: function($defer, params) {
$defer.resolve($scope.datos);
}
});
// add new line
this.addLine = function() {
$scope.datos.push({
x: null,
y: null,
});
};
//delete data
this.deleteLine = function(index){
$scope.datos.splice(index, 1);
};
$scope.updated = -1;
$scope.$watch('datos', function(){
$scope.updated++;
});
});
我做错了什么?这是最好的从看看是数据变化吗?坦克。
使用对象相等标志,使其不使用引用相等:
$scope.$watch('datos', function(){
$scope.updated++;
}, true);
或者,按照氘的建议使用$watchCollection
:
$scope.$watchCollection('datos', function(){
$scope.updated++;
});
相关文章:
- 用程序搜索JQuery数据表中的文本
- 要求输入在数据列表中
- 正在将数据主题添加到所有项目
- 函数参数中的数据与指定变量之间的任何性能差异
- 在VanillaJS中模拟模型双向数据绑定
- CSS-如何定位内容数据标题
- 使用电话间隙在Android应用程序中显示SQL Lite的数据
- 无法在数据endVal中设置值=“”;{{ucount}}”;使用Angular JS的CountUp
- 序列化数据属性中对象的最可靠方法
- 如何将JSON数据导入我的ejs模板
- 不显示带有本地json文件数据的谷歌地图脚本
- 如何将json数据显示为html
- 画布数据到图像
- 使用jquery将mysql数据获取到新的表行中
- 使用html中的外部javascript进行数据验证
- 有时数据是't显示在浏览器中
- React中的数据集表示
- Angular只从数组中获取所需的数据
- 无法将数据从firebase获取到我的html页面
- 如果数据随$watch而更改,Angujar 1.3 则无法