对象数组

时间:2016-08-31 05:15:13

标签: javascript angularjs arrays underscore.js

以下是我的对象数组的示例。

$scope.arr = [{"A":"a","B":"b"},{"A":"c","B":"d"},{"A":"e","B":"f"},{"A":"g","B":"h"}];

现在我想在属性“A”值改变时触发一个函数。基本上是为了获得带有非空值的“A”计数。以下是需要触发的示例场景。

  • 如果对于新添加的对象,“A”的值已更改为数组。
  • 如果删除了对象,则属性“A”包含值。
  • 如果将值添加到对象中的空“A”
  • 如果现有值在对象中清空“A”

我已经阅读了Angular手表文档,这是一个可能的解决方案。但我的问题是如何在数组的任何对象中观察特定属性(“A”)

感谢任何帮助。

如果Angular中没有可能的解决方案,是否有任何替代解决方案使用underscore.js?

2 个答案:

答案 0 :(得分:0)

可以使用state.menuList完成。

例如:

action.data

此处第三个参数“try (BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream(), StandardCharsets.UTF_8))) { AtomicBoolean hasError = new AtomicBoolean(); AtomicBoolean hasInsufficentPermission = new AtomicBoolean(); reader.lines().map(String::toLowerCase).forEach(line-> { if(line.contains("error code: 2568")) hasError.set(true); if(line.contains("insufficient client permissions")) hasInsufficentPermission.set(true); }); if (hasError.get() && hasInsufficentPermission.get()) { System.out.println("WebContentStr contains both strings"); } else { System.out.println("Strings not found"); } } ”用于深层检查。

答案 1 :(得分:0)

对于AngularJS,有<?= GridView::widget([ 'dataProvider' => $dataProvider, 'filterModel' => $searchModel, 'columns' => [ ['class' => 'yii\grid\SerialColumn'], [ 'attribute' => 'user_id', 'headerOptions' => ['style' => 'background-color:#ccf8fe'], ], ], ]); ?>

$user_number = trim(preg_replace( "/\s+/", " ", $_POST['number']));

但这太贵了。

对于vanilla Javascript,这是一个名为if(!filter_var($user_number, FILTER_VALIDATE_INT)) { echo "<script>alert('Invalid number inserted.');</script>"; } 的非标准实现,来自here

$scope.$watch