函数调用的变量更改未显示在angular-bootstrap模态窗口中

时间:2015-03-10 13:09:58

标签: javascript angularjs angularjs-scope bootstrap-modal angular-bootstrap

我正在尝试使用angular和bootstrap来创建一个显示youtube视频的模态窗口。当我对youtube网址进行硬编码时,angular bootstrap page上的模态示例正常工作。但是,当我在选择视频时尝试使用其中的URL创建变量时,我似乎无法在模态窗口的实例中声明/更改该变量。

以下是一位来自Angular网站的模态示例中的问题:http://plnkr.co/edit/n1vfSJUhcJWjNlfVrpxA?p=preview

启动模态窗口的按钮在单击时调用两个函数:open()和我的testFunction()

<button class="btn btn-default" ng-click="testFunction(); open()">Open me!</button>

testFunction只是为$scope变量指定了一个新值:

$scope.testFunction = function(){
         $scope.testFromFunction = "Hey this is a test that was changed in that function!";
  };

如何在模态窗口中获取<p>{{testFromFunction}}</p>以在模态窗口中反映此变量赋值? (应该说&#34;嘿,这是一个在该功能中被改变的测试!&#34;,而不是&#34;仍未改变&#34;)

我的实际应用中的testFunction等效函数使用$index并使用它来创建正确的YouTube网址。我需要动态创建单独的youtube链接,不能将它们硬编码到html / js中。

非常感谢你的时间。如果您需要更多信息或有任何不清楚的地方,请告诉我。

1 个答案:

答案 0 :(得分:1)

您有两个范围 - 一个用于“ModalDemoCtrl”,另一个用于模态对话框本身。您尚未在第一个控制器中定义“testFunction”,您的按钮可以看到该范围。您还通过模态调用的“resolve”参数将“TestFromFunction”定义为模态的源,但您尝试引用父控制器的值而不是通过“resolve”传输的值。这是固定的plunker正确显示您的消息,希望它有所帮助。 http://plnkr.co/edit/F3gV7y3MYJLvzsBYZGnS?p=preview