我想在确认消息中添加角度变量。经过多次尝试,任何解决方案都不适合我:
<a onclick="return confirm('Do you want to manage ' + {{item.name}} + ' with ...?')"
ng-href="/link={{item.ipAddress}}">{{item.name}}</a>
有人可以帮忙吗? (在确认消息中没有{{item.name}}的情况下工作正常)
答案 0 :(得分:1)
如果您使用的是Angular框架,建议您使用(click)
指令。
然后,您可以使用链接到模板的控制器中定义的方法。
组件
confirm(item): void{
confirm(`Do you want to manage ${item.name} with...?`);
}
模板
<ul>
<li *ngFor="let item of items" (click)="confirm(item)">{{item.name}}</li>
</ul>
答案 1 :(得分:0)
您可以访问范围,而无需更改控制器代码。您只需要向控制器添加id
。这是它的样子:
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
$scope.item = {
"name": "NAME"
}
});
<!DOCTYPE html>
<html ng-app="myApp">
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>
<body>
<div ng-controller="myCtrl" id="ctrl1">
<a onclick="confirm('Do you want to manage ' + angular.element(document.getElementById('ctrl1')).scope().item.name + ' with ...?')">
{{item.name}}
</a>
</div>
</body>
</html>
答案 2 :(得分:-1)
根据我对问题的理解,我正在按照自己的意愿编写最佳解决方案,这可以帮助您解决问题。
var app = angular.module("app", []);
app.controller("MainController", function($scope, $window) {
$scope.item = {
"name": "Ronit Mukherjee",
"ipAddress": "192.197.85.39"
}
$scope.myFunc = function(name, ipAddress) {
if (confirm("Do you want to manage " + name + " with ...?")) {
$window.location.href = "/link=" + ipAddress;
}
}
});
a {
color: red;
text-decoration: underline;
cursor: pointer;
}
<!DOCTYPE html>
<html lang="en">
<head>
<title>AngularJS</title>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
</head>
<body ng-app="app">
<div ng-controller="MainController">
<a ng-click="myFunc(item.name,item.ipAddress)">{{item.name}}</a>
</div>
</body>
</html>
如果您仍然遇到任何问题,请随时发表评论并消除疑问。