首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何调用父作用域中的变量

如何调用父作用域中的变量
EN

Stack Overflow用户
提问于 2015-07-07 00:33:46
回答 2查看 58关注 0票数 0

我在控制器中有一个变量options。我使用了创建内部作用域的指令ng-sortable。我的html看起来像这样:

代码语言:javascript
复制
<ul as-sortable ng-model="list">
  <li ng-repeat="item in list" as-sortable-item>
    <i as-sortable-item-handle></i>
    {{ options.text }}
  </li>
</ul>

当我删除as-sortable时,我可以看到options.text,因为它在正确的范围内搜索它。但是如何在新的作用域中抛出它呢?

更新:

$parent.$parent.options.text给了我一个变量。但它看起来很丑陋。有没有更好的方法(避免调用$parent)?

EN

回答 2

Stack Overflow用户

发布于 2015-07-07 01:04:41

尝试'$scope.parentCtrlAsName‘,然后假设父控制器是子控制器中的userCtrl尝试:

代码语言:javascript
复制
var parent = $scope.userCtrl; 

$scope.userCtrl允许您访问父控制器作用域。

票数 0
EN

Stack Overflow用户

发布于 2015-07-07 01:05:54

与其让子进程读取其父进程的作用域,不如考虑让父进程将必要的数据向下传递给子进程。

(以下内容可能不太正确,因为我不确定您是从哪里获得options.text的,但我希望这个想法足够清楚:)

代码语言:javascript
复制
<ul as-sortable ng-model="list">
  <li ng-repeat="item in list" as-sortable-item>
    <i as-sortable-item-handle myoptions="{{options.text}}"></i>
      {{ myoptions }}
  </li>
</ul>

.directive('asSortableItemHandle', function () {
    return {
        scope: {
            myoptions: '@'
        }
        //...etcetera
    };
})
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31251083

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档