Javascript ng中的JS多表达式单击AngularJS
为什么这样不行Javascript ng中的JS多表达式单击AngularJS,javascript,angularjs,Javascript,Angularjs,为什么这样不行 <a ng-click="if(item.lp_iframe=='') ? href='{{item.lp_url}}' : playVideo(item.lp_iframe_id)" target="_blank"> 我怀疑我必须跳出“?将其移动到范围内的函数,如下所示 $scope.foo = function() { // ... } ng-click="foo()" 据报道 表达式并不意味着javascript,请参见
<a ng-click="if(item.lp_iframe=='') ? href='{{item.lp_url}}' :
playVideo(item.lp_iframe_id)" target="_blank">
我怀疑我必须跳出
“
?将其移动到范围内的函数,如下所示
$scope.foo = function() {
// ...
}
ng-click="foo()"
据报道
表达式并不意味着javascript,请参见 你的问题是,你的表情
//语法正确吗?不是
所以试试这个
<a ng-click="if(item.lp_iframe=='') ? redirect(item.lp_url) :
playVideo(item.lp_iframe_id)" target="_blank">
$scope.redirect= function(url) {
window.open(url)
}
$scope.redirect=函数(url){
打开窗口(url)
}
或者
试试这个
<a ng-click="clickevent()" target="_blank">
$scope.clickevent= function() {
if(item.lp_iframe=='')
{
window.open(url)
}
playVideo(item.lp_iframe_id)
}
$scope.clickevent=function()
如果(item.lp_iframe=='')
{
打开窗口(url)
}
播放视频(item.lp\u iframe\u id)
}
您在控制台中得到的错误声明是什么?@user3346088为什么playVideo会导致问题?像playVideo(…)或$scope一样调用它。playVideo(…)。$位置未定义您需要在控制器对象中分配$位置#没有“重新加载”的方法。这很有意义,但我将它命名为erorr,重新加载做什么?然后返回true?抱歉,将其更改为$route.reload();
<a ng-click="clickevent()" target="_blank">
$scope.clickevent= function() {
if(item.lp_iframe=='')
{
window.open(url)
}
playVideo(item.lp_iframe_id)
}