0

我正在尝试使用 Angular。为了这个问题,我改变了这个小提琴。

当我尝试从指令中访问范围变量“password”和“password_confirmation”时,它会很好地显示它们。看到这个小提琴。像这样:

scope.$apply(function(){
          scope.passwordAsSeenByDirective = scope['password'] + "...";
          scope.password_confirmationAsSeenByDirective = scope['password_confirmation'] + "...";
        });

但是当我创建一个对象并将它们作为属性放在那里时,我就无法再访问它们了。看到这个小提琴。像这样:

scope.$apply(function(){
          scope.passwordAsSeenByDirective = scope['obj.password'] + "...";
          scope.password_confirmationAsSeenByDirective = scope['obj.password_confirmation'] + "...";
        });

怎么来的?

4

2 回答 2

1

我不能给你完整的答案,因为我自己还在学习 AngularJS。但是,我可以提供的一点帮助是,您无法访问范围 [“foo.bar”] 之类的变量。“foo.bar” 是 Angular 表达式,而不是属性语法,因此必须使用 $parse 解析或使用 scope.$eval 评估

于 2014-06-15T15:31:58.383 回答
1

尝试这个scope['obj']['password']

于 2014-06-15T15:38:09.997 回答