2015-06-20 75 views

回答

0

ngClick!= onClick

ngClick只能访问范围内的项目。要解决此问题,您可以在控制器操作中使用$window服务,或者将$ window添加到范围中。

您的表达式是无效的

ngClick包含标记需要进行插值。当在ngClick之内时,不需要使用{{}}语法,并且可以直接轻松使用scope变量。

也许用ngHref?

如果你正在做的是打开了一个窗口,只使用一个锚标记和ngHref

<a ng-href="{{data.url}}">{{data.name}}</a> 
2

我必须说你有$窗口服务的帮助,这样做的控制器: -

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> 

Plunker

0

我建议指令:

<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"); 
    } 
    }; 
});