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

Variable changes from function call not displaying in angular-bootstrap modal window

我正在尝试使用 angular 和 bootstrap 创建一个显示 YouTube 视频的模态 window。当我对 youtube URL 进行硬编码时,遵循 angular bootstrap page 上的模态示例工作正常。但是,当我尝试在选择视频时创建一个带有 URL 的变量时,我似乎无法在模态 window 的实例中保留该变量 declared/changed。

这里有一个 plunker 在 Angular 站点的模态示例中展示了我的问题:http://plnkr.co/edit/n1vfSJUhcJWjNlfVrpxA?p=preview

启动模式 window 的按钮在单击时调用两个函数: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!";
  };

如何在模态 window 中获取 <p>{{testFromFunction}}</p> 以在模态 window 中反映此变量赋值? (应该说 "Hey this is a test that was changed in that function!",而不是 "still unchanged")

我的实际应用程序中的 testFunction 等效函数采用 $index 并使用它来创建适当的 youtube URL。我需要动态创建单独的 youtube 链接,不能将它们硬编码到 html/js.

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

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