【问题标题】:Set value in sibling scope without altering directive在同级范围内设置值而不更改指令
【发布时间】:2018-07-31 02:23:25
【问题描述】:

我正在使用使用 Angular 构建的第 3 方 UI 框架。框架代码已全部缩小,为简单起见,假设我无法编辑框架代码。

如果作用域如上图所示,有什么方法可以让我从作用域 43 获得对作用域 6 中的属性的写访问权限?

范围 43 由我的代码创建,6 由 3rd 方库创建。

【问题讨论】:

  • 不清楚这些范围中的哪些在 3rd 方库中,哪些在您的代码中。我们需要澄清一下。如果所有这些都在您的 3rd 方库中,他们应该给您一些更改范围的方法:也许您要更改的属性是双向绑定的,您可以在外部控制器或上层指令中更新它(一个使用该代码)。我们需要更多细节
  • @Gonzalo.- 已编辑
  • 在不知道你的第三方库是什么或它提供什么选项的情况下,我只能建议使用angular.element(someElementInScope6).scope()(或.isolateScope,如果它是一个指令)后跟$scope.apply。见How to change AngularJS data outside the scope

标签: angularjs angularjs-scope


【解决方案1】:

正如上面 cmets 中所建议的,我最终使用 angular.element() 来访问相关范围,然后使用 scope.$apply(function() {myProp=myValue}); 来更新值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多