gpt4 book ai didi

javascript - 错误 : Expression 'undefined' used with directive is non-assignable

转载 作者:数据小太阳 更新时间:2023-10-29 05:10:03 25 4
gpt4 key购买 nike

在这里摆弄http://jsfiddle.net/prantikv/dJty6/36/

我有这样的json数据

$scope.info={
"company1":"this",
"company2":"is",
"company3":"sparta"
}

我正在使用 ng-repeat 打印所有数据,我想监控字段的变化。

 <input type="text" ng-repeat="item in info" value="{{item}}" monitor-change>

我有一个像这样的 monitorChange 指令:

.directive('monitorChange', function() {
return {
restrict: 'A',
scope: {changedFlag: '='},
link: function(scope, element, attrs) {
var $el = angular.element(element);
$el.on('keyup', function() {//bind to element
scope.$apply( function() {
scope.changedFlag =true;//on key press value is changed
});
});
}
};
});

尝试更改数据时,我收到错误 Error: [$compile:nonassign] Expression 'undefined' used with directive 'monitorChange' is non-assignable!

我正在打印我 View 中的数据:

{{changedFlag }}

代码有什么问题?

最佳答案

  1. 正如您在指令定义中提到的 scope: {caretPosition: '='},我们需要在标记中传递 caret-position="obj.changedFlag"
  2. 由于 ng-repeat 为每个项目创建了一个新的范围,因此最好使用圆点表示法将更改反射(reflect)在 Controller 的范围中。

这是更新后的 fiddle 。 http://jsfiddle.net/dJty6/38/

关于javascript - 错误 : Expression 'undefined' used with directive is non-assignable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29077413/

25 4 0
文章推荐: javascript - Angular Material : layout-fill not filling parent
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com