4
  • 我有一个显示 4 个闪存卡的应用程序,其中 3 个由一个指令填充
  • 对于最后一张卡,我希望值取决于控制器
  • 根据视图(和对应的控制器),控制器可以填写第4张卡片的值。

  • 出于演示目的,请参见此处

问题
- 如何从某个控制器更新第四张卡中的值?
- 将值从某个控制器推送到指令是否是个好主意?
- 什么可能是最好的解决方案?

我是 Angular 新手,我很了解它

4

2 回答 2

7

对于你的问题,我认为你需要这样的东西:http
://plnkr.co/edit/gp0zIwnj9Oz3IpQPXhDI?p=preview 我在你的指令范围内添加了数据,这个数据是从控制器传递的

scope: {
  ngModel: '=',
  somedata:'@'
},

的HTML:

<data-ng-pt-header somedata='{{somedata}}'></data-ng-pt-header>

在控制器中:

$scope.somedata='This comes from the controller';

当然在模板中:

        <div class="well info-card days-left">
        <legend>Spent</legend>
        <span>{{somedata}}</span>
    </div>

这是将数据传递给指令的众多方法之一,最简单,如果您想了解有关指令的更多信息,还有这篇出色的帖子:http ://amitgharat.wordpress.com/2013/06/08/the-hitchhikers - 指导指令/

对于另外两个问题,是的,将数据从控制器发送到指令可能是个好主意,这在很大程度上取决于您想要的数据和逻辑,但您的应用程序似乎需要它。
最好的解决方案不存在(至少不是只看到一个简单的例子),但由于它似乎是一种简单的数据交换,最简单的方法似乎符合您的要求;)

玩得开心

于 2013-08-16T22:18:08.167 回答
1

指令中的控制器控制指令的范围。如果要从其他控制器传递数据,则必须通过指令中的控制器从其他控制器传递。

stackoverflow 中有几个线程与如何在控制器之间传递数据有关。

希望这可以帮助。

于 2013-08-16T22:21:33.753 回答