我有一个指令来显示一个bootstrap的popover,用户可以在其中更新一些值。问题是我的值不作为输入值显示(它是绑定,我可以编辑它)。在输入旁边的popover中可以看到相同的值。
HTML 的
exportPath = r'D:\Sunil_Work\temp8' + '\\Path.csv'
gzPath.to_csv(exportPath)
JS
<div custom-popover popover-html="<div><span>{{costPrice}}</span><input type='text' ng-model='costPrice' /></div>"></div>
它当然只是整个项目的一部分,但它显示了问题。知道如何在输入中看到这个值吗?
答案 0 :(得分:0)
我想我终于找到了问题所在。
您正在使用jquery进行弹出,因为使用带有角度的jquery代码不是一个好习惯
在您的情况下,您使用角度和ng模型的作用是持续观察元素值,如果它发生变化,则调用摘要周期以根据模型更新所有值,反之亦然。
所以,正如你已经将角度代码赋予jquery内容函数一样,如果你通过ui-bootstrap popover或任何其他有角度的第三方popovers实现它,你可以使角度停止观察你在popover中看到的costPrice
你可以看到效果。这是代码,
<!doctype html>
<html ng-app="ui.bootstrap.demo">
<head>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.6.1/angular.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.6.1/angular-animate.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.6.1/angular-sanitize.js"></script>
<script src="//angular-ui.github.io/bootstrap/ui-bootstrap-tpls-2.5.0.js"></script>
<link href="//netdna.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div ng-controller="PopoverDemoCtrl">
<button style="margin:70px;" uib-popover-template="dynamicPopover.templateUrl" popover-placement="bottom-right" popover-title="{{dynamicPopover.title}}"
type="button" class="btn btn-default">Popover With Template</button>
<script type="text/ng-template" id="myPopoverTemplate.html">
<div>{{dynamicPopover.content}}</div>
<div class="form-group">
<label>Popup Title:</label>
<input type="text" ng-model="dynamicPopover.content" class="form-control">
</div>
</script>
<script>
angular.module('ui.bootstrap.demo', ['ngAnimate', 'ngSanitize', 'ui.bootstrap']);
angular.module('ui.bootstrap.demo').controller('PopoverDemoCtrl', function ($scope, $sce) {
$scope.dynamicPopover = {
content: 'Hello, World!',
templateUrl: 'myPopoverTemplate.html',
title: 'Title'
};
});
</script>
</div>
</body>
</html>
&#13;
因为我说你给了带有角度代码的html到jquery来处理它而jquery无法处理角度代码所以你得到了错误。 希望这会有所帮助:)