gpt4 book ai didi

javascript - AngularJs - 带有ajax加载的模态窗口

转载 作者:行者123 更新时间:2023-11-30 06:28:52 26 4
gpt4 key购买 nike

我正在尝试使用 ui.bootstrap ( http://angular-ui.github.io/bootstrap/#/modal ) 为应用程序上的元素启用模式弹出窗口,以显示更多信息(包括评论等内容)。该元素正在作为页面上的指令加载,我认为我遇到了嵌套范围的问题,但它看起来好像模式窗口正在触发,但没有出现(屏幕变暗)。

我的指令是这样的:

    .directive('artifactCause', function() {
return {
restrict: 'E',
replace: true,
scope: {
thing: '=thing'
},
templateUrl: 'views/directives/artifact-cause.html',
controller: function($scope, $element, $attrs, $modal) {
console.log('clicked');
$scope.open = function() {

var modalInstance = $modal.open({
backdrop: true,
keyboard: true,
controller: 'artifactModalCtrl',
templateUrl: 'views/directives/modal-artifact.html',
scope: $scope,
resolve: {
thing: function () {
return $scope.thing.cause_id;
}
}
});

};
}
};
});

artifactModealCtrl Controller 看起来像这样:

.controller('artifactModalCtrl', function($scope, $http, loggedStatus, thing) {
var token = loggedStatus.token();
$scope.close = function(result) {
dialog.close(result);
};

$http.get( REQUEST_URL + '/Artifact/ArtifactDetail?token=' + token + '&artifact_id=' + thing ).
success(function(data) {
console.log(data);
$scope.thing = data.response;
return data.response;
}).
error(function(data) {
console.log('Error');
console.log(data);
});
})

我知道我从 ajax 调用中收到的数据是成功的,因为我可以将它记录到控制台。任何正确方向的见解或指示将不胜感激。

最佳答案

这很可能是找不到 HTML 模板的问题。模态正在启动并淡出屏幕,但未找到模板,因此屏幕上没有显示任何内容。

我个人没有成功在 templateUrl 中引用模板的文件位置。属性,所以我所做的是将 html 模板包含在母版页或任何将触发模态的页面中,如下所示:

<div ng-include src="'../views/directives/modal-artifact.html'">

确保模板的路径准确无误,您应该能够在页面加载时通过 firebug(或类似的浏览器开发工具)查看文件内容来确认这一点。

接下来,假设 id您的模板标签的属性是 "modal-artifact.html" ( <script type="text/ng-template" id="modal-artifact.html"> ),像这样设置你的 templateUrl:

templateUrl: 'modal-artifact.html' //this must match the id of your template

关于javascript - AngularJs - 带有ajax加载的模态窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19234860/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com