使用AngularJS制作一个类似电子表格的应用程序
Use AngularJS to make a spreadsheet (like) application
我会制作一个类似电子表格的网络应用程序,当你更新一个单元格(输入)时,所有引用都会自动更新。
如何在角度上实现这一点?
例如:
<div ng-app ng-controller="TestController">
<input ng-model="a1" /><input ng-model="b1" /><br />
<input ng-model="a2" /><input ng-model="b2" />
</div>
function TestController($scope) {
$scope.a1 = "";
$scope.a2 = "";
$scope.b1 = "";
$scope.b2 = $scope.a1 + $scope.a2;
}
https://jsfiddle.net/Lt7aP/2622/
问题是B2是第一次评估的,但当a1或a2改变时,它不会自动改变。
下面的答案是正确的,但我正在寻找一种有效的方法。Angular是否有任何库可以处理这种"反应式编程"?
您可以使用$scope.$watch
来执行类似的操作
function TestController($scope) {
$scope.a1 = "1";
$scope.a2 = "2";
$scope.b1 = "";
$scope.b2 = $scope.a1 + $scope.a2;
$scope.b2_eval = function() {
$scope.b2 = $scope.a1 + $scope.a2;
}
$scope.b2_deps = ['a1', 'a2'];
$scope.b2_deps.forEach(function(dep) {
$scope.$watch(dep, function() {
$scope.b2_eval();
});
});
}
您只需在输入框中添加一个ng-change
事件,并添加一个全局更新函数即可在任何值更改时运行,而无需添加手表,如下面代码的更新示例所示:
小提琴
这个更新函数可以是你想要的复杂或简单的,比如传递引用,只添加(或操作)你传递的行或列中的输入单元格
您也可以将所有单元格添加为一个数组,并使用ng-repeat
进行迭代
相关文章:
- 使用AngularJS制作一个类似电子表格的应用程序
- 如何使用谷歌应用程序脚本将3个谷歌电子表格中的特定行复制到另一个电子表格中
- 如何根据单元格中的值将一行从一个谷歌电子表格移动到另一个
- 谷歌电子表格:为带有参数的按钮指定一个脚本
- 谷歌脚本创建了两个电子表格,而不是一个
- GAS-onChange触发器(获取值)从活动表和写入另一个电子表格
- 是否有一个JavaScript库可以在没有UI的情况下进行电子表格计算
- 电子表格中的单个动态模态/ JS(而不是每个单元格一个)
- 我的谷歌电子表格脚本只运行一个函数.我把剧本编错了吗
- 从另一个电子表格访问google工作表图像onClick句柄
- 在谷歌电子表格中,如何从另一个单元格设置单元格的值's值
- 使用数组循环将值与另一个电子表格进行比较,然后写入新值
- 如何构建一个扩展,以保存HTML表单的值到电子表格使用应用程序脚本
- 在Google电子表格中的几行中迭代一个函数
- 谷歌电子表格上更改写日志到另一个表
- 如何每周创建一个备份的谷歌电子表格
- Google Apps脚本-在电子表格中找到列的最后一个空行
- 如何从谷歌电子表格拉数据到一个网站
- 将表格复制到另一个电子表格[Google Apps Script]
- 我可以填写谷歌电子表格单元格从一个web服务值