【问题标题】:How to propagate directive scope to parent scope using modal angular ui?如何使用模态角度 ui 将指令范围传播到父范围?
【发布时间】:2014-04-01 20:27:06
【问题描述】:

我阅读了很多文章和 AngularJS 文档,但我找不到任何方法将我的指令范围修改传播到我的模态控制器。

这里是更简单的上下文版本:

  • Angular-UI 模式应该通过 Angular 指令包含一个文本区域
  • 用户可以输入一些文字
  • 指令应该捕获文本并应用复杂的转换(这不是问题,这就是为什么我给您发送一个更简单的版本;))
  • 模态应该显示这些转换并等待用户关闭
  • 该指令应修改模态控制器范围以发送文本转换

我可以从模态控制器中检索模型,在我的指令中更改它,但是在更新父范围时,我总是得到默认模型值。

我尝试同时使用继承的或孤立的范围,但我看不到我缺少什么。 有人应该帮助我吗?

这是一个非常详细的木板:http://plnkr.co/edit/t3ecXakeJMlttQkj9GLM?p=preview

重现问题:

  1. 点击“打开模式”按钮
  2. 模态打开并显示默认模型值“AAA”
  3. 输入“BBB”,模态显示“BBB”(指令范围)
  4. 点击“关闭”按钮
  5. 主 Ctrl 仍显示“AAA”值

感谢您的帮助

t00f

【问题讨论】:

    标签: angularjs binding scope modal-dialog angular-ui


    【解决方案1】:

    您应该将“sub.model”传递给您的模型范围 这是一个工作 plunkr http://plnkr.co/edit/vXmgbVdYGrxbxYTIZVUU?p=preview

    您会在模态控制器中看到,我没有直接使用 $scope.model = 'AAA' 作为字符串,而是使用了 $scope.model = {data : 'AAA'} 并且我直接将 model.data 传递到我的-modal.html 中的指令

    你会在这个answer得到更多解释

    希望对你有帮助

    【讨论】:

    • 菜鸟错误!感谢您的帮助;)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-17
    相关资源
    最近更新 更多