У меня есть контроллер, который занимается заказами на поставку. Он имеет номер заказа на поставку.Как передать переменные контроллеру sibling
Я запускаю форму в диалоговом окне, которое имеет свой собственный контроллер.
Мне нужно показать номер заказа на поставку с контроллера PO в этом диалоговом окне Третий поле ввода в диалоговом окне. Каков правильный/рекомендуемый способ сделать это?
Я стараюсь придерживаться лучшей практики и руководства по стилю от Джона Папы ниже.
Спасибо.
index.html
<!DOCTYPE html>
<html>
<head>
<script data-require="[email protected]*" data-semver="3.0.0" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.js"></script>
<script data-require="[email protected]" data-semver="1.5.3" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.3/angular.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/ng-dialog/0.6.2/js/ngDialog.min.js"></script>
<link rel="stylesheet" href="style.css" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/ng-dialog/0.6.2/css/ngDialog-theme-default.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/ng-dialog/0.6.2/css/ngDialog.min.css">
<script src="script.js"></script>
</head>
<body ng-app="app">
<h1>Hello Plunker!</h1>
<div ng-controller="POController as po">
{{po.purchaseOrderNumber}}
<button ng-click="po.openDialog()">OPEN DIALOG</button>
</div>
</body>
</html>
POLine.html
<div>
<div>POLINE</div>
<div>
<input type="text" ng-model="poline.lineNumber">
</div>
<div>
<input type="text" ng-model="poline.desc">
</div>
<div>
<input type="text" ng-model="po.purchaseOrderNumber">
</div>
<div></div>
</div>
script.js
(function() {
angular
.module('app', ['ngDialog'])
.controller('POController', ['ngDialog', POController])
.controller('POLineController', [POLineController])
function POController(ngDialog) {
po = this;
po.purchaseOrderNumber = "ORD1234"
po.openDialog = openDialog;
function openDialog() {
ngDialog.open({
template: 'POLine.html',
className: 'ngdialog-theme-default',
controller: 'POLineController',
controllerAs: 'poline'
});
}
}
function POLineController() {
poline = this;
poline.lineNumber = "POLINE12345";
poline.desc = "THIS IS A DESCRIPTION";
}
})();
Спасибо за помощь, но, к сожалению, я не смог получить ни один из этих примеров, работающих после нескольких часов. Можете ли вы обновить плункер? Я занимаюсь этим всю ночь и не смог заставить его работать успешно. Спасибо снова. – McDuff
Спасибо за помощь. выясняется, что проблема была глупой: .controller ('POLineController', [POLineController]); должен был быть .controller ('POLineController', POLineController); ваш плункер сортировал это. Спасибо – McDuff