我想创建一个div
,可以使用jquery和angularjs动态更改背景。
当我点击背景中的文本时,它会打开一个新窗口( Jquery ui Dialog ),然后我可以选择另一个背景图像。
当我点击图片时,我想改变背景!
我有两个问题:
为什么我不能将ng-click
用于对话框动态内容?
我有一个动态数据对话框:
$( "#dialog" ).load( item+".html" ).dialog( "open" );
已加载的数据:
<img ng-controller="BackgroundCtrl" src="http://etickets.dev10.dev.infomaniak.ch/images/templates/background.jpg" width="20%" height="20%" ng-click="changeBackground.doClick('http://etickets.dev10.dev.infomaniak.ch/images/templates/background.jpg')" />
当我将数据direclty放入对话框div时,我使用ng-click
指令。
第二个问题是:
点击后,我会更新
$scope.BackGroundImage
div
为什么不改变他的背景图片?
完整的例子在这里:
答案 0 :(得分:0)
据我了解,您正在尝试使用jQuery构建动态HTML,并希望Angular能够理解它。
这不起作用。 Angular需要了解正在发生的一切,因此在Angular“外部”构建内容是一个问题。
告诉Angular新的HTML内容是这样的:
$("#dialog").load(item+".html", function () {
var $this = $(this);
var html = $this.html();
var angularCompiled = $compile(html)($scope);
$this.html(angularCompiled);
}).dialog("open");
这只是理论,也可能有其他方法可以做到这一点,但这会给你一个想法。