我正在从ngDialog弹出窗口更新一个范围变量。

查看:



<input type="radio"  name="file_selector" value={{file.id}} ng-model="selected_file.id" ></input>
 





controller.js

 $scope.selected_file   = {'id' : '22'};


如果我在非弹出式HTML中具有上述视图,则ng-model更新并更改视图。

ngDialog:



$scope.openUploadPopup = function() {
		ngDialog.open({
			template: 'partials/upload.html',
			controller: 'notificationController',
			className: 'ngdialog-theme-default',
			scope: $scope
			});
} 





编辑:Plunker:http://plnkr.co/edit/8TUtwixKwvVaycDuvHd9?p=preview

最佳答案

我更改了您的文件,为我工作。

HTML:

<html>

  <head>
    <script src="https://code.angularjs.org/1.4.0-beta.6/angular.js"></script>
    <script  src="http://likeastore.github.io/ngDialog/js/ngDialog.min.js"></script>
    <link rel="stylesheet" href="style.css" />
    <script src="script.js"></script>
  </head>

  <body ng-app="notifications_web_portal" ng-controller="notificationController">
    <div ng-view>
    <h1>Hello Plunker!</h1>
      <span> File selected : {{selected_file.id}}</span>
      <a href='javascript:void(0)' ng-click="openUploadPopup()" >Open Dialog</a>
      </div>
  </body>

</html>


JS:

// Code goes here
var notifApp = angular.module('notifications_web_portal', ['ngDialog']);

notifApp.controller('notificationController', function($scope, $rootScope, $window , ngDialog) {
  $scope.openUploadPopup = function() {

    ngDialog.open({
      template: '<input type="radio"  name="file_selector" value="87" ng-model="selected_file.id" ></input>',
      controller: 'notificationController',
      plain: true,
      className: 'ngdialog-theme-default',
      scope: $scope
      });
  }
});


所做的更改:


添加了plain: true
notifApp.controller('notificationController',......

10-07 14:48