2015-06-20 113 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"); 
    } 
    }; 
});