相关疑难解决方法(0)

什么时候使用ng-attr?

似乎使用直接属性和ng-attr-*指令做同样的事情.例如,以下呈现等效:

   <div ng-attr-id="{{ 'object-' + value }}">ID</div>
   <div id="{{ 'object-' + value }}">ID</div>
Run Code Online (Sandbox Code Playgroud)

ng-attr-*什么时候应该使用,何时应该使用直接HTML属性?

angularjs

15
推荐指数
3
解决办法
3万
查看次数

从angularJS partial中链接到具有不同域的外部URL

我想要做的就是在链接到外部网站的部分的html中包含一个锚标记.如果是这个标准的html,代码就是:

<a href="http://www.google.com" target="_blank">google</a>
Run Code Online (Sandbox Code Playgroud)

就像这一样简单,我似乎无法找到一个有效的解决方案来过去角度拦截路线(或者无意中用https://docs.angularjs.org/api/ng/directive/a指令替换我的锚点?) .

我已经搜索了SO和网络的其余部分并看到了无数的处理解决方案:同一域内的链接,SPA内的路由,页面内的路由(ala $ anchorScroll)但这些都不是我的问题.

我怀疑它可能与使用$ sce有关,但我是Angular n00b并且不确定如何正确使用该服务.我在视图控制器中尝试了以下内容:

$scope.trustUrl = function(url) {
    return $sce.trustAsResourceUrl(url);
}
Run Code Online (Sandbox Code Playgroud)

与相应的:

<a ng-href="{{ trustUrl(item) }}">Click me!</a>
Run Code Online (Sandbox Code Playgroud)

(如下所述:在angularjs模板中绑定外部URL)

但这似乎没有做到这一点(我最终只在渲染页面中使用了href ="{{").

使用像这样的普通香草锚链接:

<a href="http://www.google.com">google</a>
Run Code Online (Sandbox Code Playgroud)

也没有做到这一点(尽管一些在线建议标准href会导致完整的页面重新加载角度:AngularJS - 我如何进行整页加载的重定向?).

我也尝试添加target = _self"属性,但这似乎也没有效果.

我是否需要编写如此处所述的自定义指令?

有条件地将target ="_ blank"添加到与Angular JS的链接中

对于这样一个简单的动作来说,这一切看起来都太复杂了,我觉得我在遗漏中遗漏了一些明显的东西,至少我希望如此,因为这个过程只是为了链接到另一个网址而感到非常繁重.

提前感谢任何解决方案,建议,参考或指导.

anchor href external-url angularjs

7
推荐指数
1
解决办法
2万
查看次数

在AngularJS中使超链接的行为成为条件

在Angular应用程序中,我有一个需要具有以下行为的超链接列表:

  • 如果存在某种条件(例如,如果某个cookie的值为x),则单击超链接应该打开一个模态窗口;

  • 如果不满足此条件(例如,如果cookie具有值y),则超链接应以其通常的方式操作并在新选项卡中打开链接.

超链接的格式如下:

<a ng-href="{{article.url}}" target="_blank" ng-click="myFunction()">
  {{article.title}}
</a>
Run Code Online (Sandbox Code Playgroud)

我对如何实现这样的行为感到困惑.如果我离开都ng-hrefngclick指令,然后ng-href将插入网址和每次点击都会在新标签中打开一个页面.如果我删除该ng-href指令,那么在另一个选项卡中打开链接的唯一方法是通过javascript,但大多数浏览器都会阻止这种情况.我想不出ng-href有条件的方法(例如,写作<a ng-href="myCondition === true ? {{article.url}} : '#'">不起作用).

能否请您介绍一下如何在Angular中实现这样的功能?

hyperlink angularjs angularjs-ng-click

7
推荐指数
2
解决办法
1万
查看次数