我正在从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',......