我有一个Angular问题,从父范围取消绑定的模态范围.我希望传递给模态的范围对象与相应的范围对象分开.
无论我如何构建模态对象,父级总是镜像它.我发现的唯一解决方案是更改对象属性名称,但这对我项目中的每个模态都很麻烦.
例如,我可以在父$ scope.parentData.firstName和一个模态变量$ scope.modalData.abcfirstName一个$范围变量,和父将镜像的模态的值.
我想这里有一些父孩子$范围问题,我没有得到.这是一个说明问题的插件:
http://plnkr.co/edit/5naWXfkv7kmzFp7U2KPv?p=preview
HTML:
<div ng-controller="ModalDemoCtrl">
<script type="text/ng-template" id="myModalContent.html">
<div class="modal-header">
<h3>I'm a modal!</h3>
</div>
<div class="modal-body">
<input ng-model="modalData.a" />
<input ng-model="modalData.b" />
<input ng-model="modalData.c" />
Selected: <b>{{ sourceData }}</b>
</div>
<div class="modal-footer">
<button class="btn btn-primary" ng-click="ok()">OK</button>
<button class="btn btn-warning" ng-click="cancel()">Cancel</button>
</div>
</script>
<button class="btn btn-default" ng-click="open()">Open me!</button>
{{sourceData}}
<div ng-show="sourceData">Selection from a modal: {{ test }}</div>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
JS:
angular.module('plunker', ['ui.bootstrap']);
var ModalDemoCtrl = function ($scope, $modal, $log) {
$scope.sourceData = {a:'abc',b:'bcd',c:'cde'};
$scope.open = …Run Code Online (Sandbox Code Playgroud)