<p ng-click='window.open("{{data.url}}","_self")'>{{data.name}}</p>
这有什么问题吗?我也尝试onclick,但我看到控制台中的错误。ng-click窗口打开没有响应?
<p ng-click='window.open("{{data.url}}","_self")'>{{data.name}}</p>
这有什么问题吗?我也尝试onclick,但我看到控制台中的错误。ng-click窗口打开没有响应?
ngClick
只能访问范围内的项目。要解决此问题,您可以在控制器操作中使用$window
服务,或者将$ window添加到范围中。
你ngClick
包含标记需要进行插值。当在ngClick
之内时,不需要使用{{}}
语法,并且可以直接轻松使用scope变量。
如果你正在做的是打开了一个窗口,只使用一个锚标记和ngHref
<a ng-href="{{data.url}}">{{data.name}}</a>
我必须说你有$窗口服务的帮助,这样做的控制器: -
var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope,$window) {
$scope.open=function(data){
$window.open(data,"self")
}
});
HTML: -
<p ng-click='open(data.url)'>{{data.name}}</p>
我建议指令:
<p window-open url="data.url">{{data.name}}</p>
app.directive('windowOpen', function($window) {
return {
restrict: 'A',
link: function (scope, element, attrs) {
$window.open(attrs.url,"self");
}
};
});
什么错误说? – JJJ