作为一名新手,我需要一些关于Angularjs的帮助。我尝试在模态选项卡中添加ng-click="getGallery(57)"。通过jQuery添加不是问题,但是当我这样做时,我意识到Angular没有编译新添加的ng-click。我有一个简单的控制器。
function imageGalleryCtrl ($scope, $http) {
//get gallery info on click
$scope.getGallery = function(id)
{
$http.post('/beta/images/get_images',{'id': id}).success(function(data)
{
$scope.images = data.thisGal_images;
$scope.images.galID = id;
});
};
}
我使用jQuery将ng-click添加到元素中
//Edit image tab to use angularjs
$('#image_edit a').attr('ng-click','getGallery(' + settings.id + ')');
我该如何让Angular编译新添加的ng-click?
谢谢!
HTML模态框:
当单击相册名称时调用此模态框。
<div class="modal fade hide modal-creator" id="imageUploader" tabindex="-1" data-focus-on="input:first">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal"></button>
<h3>Create New Gallery</h3>
</div>
<div class="modal-body">
<ul id="myTab" class="nav nav-tabs">
<li id="image_home" class="">
<a href="#home" data-toggle="tab">Home</a>
</li>
<li id="image_upload" class="">
<a href="#upload" data-toggle="tab">Upload Image Gallery</a>
</li>
<li id="image_edit" class="">
<a href="#edit" data-toggle="tab">Edit Image Gallery</a>
</li>
</ul>
<div id="myTabContent" class="tab-content">
<div class="tab-pane fade in" id="home">
<?php include('create.php'); ?>
</div>
<div class="tab-pane fade" id="upload">
<?php include('upload.php'); ?>
</div>
<div class="tab-pane fade" id="edit">
<div class="span9">
<ul id="imageSort" class="gallery-container">
<li ng-repeat="image in images">
<img ng-src="http://images.onlinealbumproofing.com/imageGallery/{{image.galleryID}}/{{image.imageName}}" alt="">
{{image.orgName}}
</li>
</ul>
</div><!-- /span9 -->
</div><!-- /row -->
</div>
</div>
</div><!-- /modal-body -->
<div class="modal-footer">
<a href="javascript:;" class="btn" data-dismiss="modal">Close</a>
<a href="javascript:;" id="next" class="btn btn-primary">Next</a>
</div>
</div>
更新
经过研究,我尝试以Angular的方式进行操作,现在我已经做到了以下几点。控制器与上述相同,并且我已经更新了模态框中的选项卡。
<div class="modal-body">
<ul id="myTab" class="nav nav-tabs">
<li id="image_home" class="">
<a href="#home" data-toggle="tab">Home</a>
</li>
<li id="image_upload" class="">
<a href="#upload" data-toggle="tab">Upload Image Gallery</a>
</li>
<li id="image_edit" class="">
<a ng-click="getGallery(57)" href="#edit" data-toggle="tab">Edit Image Gallery</a>
</li>
</ul>
如果我像上面那样硬编码ng-click,选项卡会按预期更新。我想要实现的是,当调用模态框时,(#image_edit a)获得了一个定义好的ng-click="getGallery(id)"。我需要告诉Angular再次查看ng-click以获取id。