如何使用AngularJS使文档准备好条件?
Posted
技术标签:
【中文标题】如何使用AngularJS使文档准备好条件?【英文标题】:How to make document ready conditional using AngularJS? 【发布时间】:2021-07-08 14:48:36 【问题描述】:我使用 ASP.NET MVC 和 AngularJS 作为我的框架。我有一个向 MCV Action 发送请求并最终被转发查看的链接。此视图已注册 javascript 文件,该文件加载 angular.element(document).ready(function (e) 函数。基本上我试图在 angular.element(document).ready 中创建一个 if else 语句。基于 myparam=是的。我该怎么做?
链接-
"<h7>" + "" + "<a target=\"_blank\" href='/Submission/EditSubmissionFile?id=" + SubmissionID + "&myparam=true" +"'>" + "Add Attachment" + "</a><br></h7>" +
AngularJS Javascript 文件 -
mainApp.controller('editSubmissionFileController', ['$scope', '$location', '$http', 'viewDataService', 'utilityService', '$window', 'constants', '$timeout', 'constants', 'adComplianceUtility', 'submissionRuleService',
function ($scope, $location, $http, viewDataService, utilityService, $window, constants, $timeout, constants, adComplianceUtility, submissionRuleService)
angular.element(document).ready(function (e)
// How to make this conditional based on parameter passed from Action or html link?
$scope.$broadcast('ShowFileUpload',
SubmissionID: $scope.model.data.SubmissionID,
Show: true,
Callback: function (data)
$scope.onFileUploadSuccessful(data);
)
);
动作-
public ActionResult EditSubmissionFile(int id)
// We can only see what we are allowed
UserContext.TestSubmissionExists(id);
UserContext.TestSubmissionAccess(id, AccessRightEnum.ViewSubmissions);
var model = _submissionSvc.GetSubmissionViewModel(id);
return View("EditSubmissionFile", model);
【问题讨论】:
真的不清楚您要在这里解决什么更高级别的问题。听起来像XY problem 您是在问如何仅在 url 具有特定值的情况下引导 Angular 应用程序? 我正在尝试在 angular.element(document).ready 中创建一个 if else 语句。基于 myparam=true。我该怎么做? charlietfl - 是的,非常相似。我需要获取从 URL 传递的值 myparam=true。接下来在 angular.element(document).read 函数中创建条件语句。 使用URLSearchParams() 【参考方案1】:添加一个简单的 window.location.href 并检查 URL 中是否存在参数就可以了。有时简单更好!谢谢。
angular.element(document).ready(function (e)
// Check if URL contains a parameter value to restrict default pageload function.
if (window.location.href.indexOf("myparam=true") > -1)
$scope.$broadcast('ShowFileUpload',
SubmissionID: $scope.model.data.SubmissionID,
Show: true,
Callback: function (data)
$scope.onFileUploadSuccessful(data);
)
);
【讨论】:
以上是关于如何使用AngularJS使文档准备好条件?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用stormpath使angularjs调用nodejs api和auth