当前位置: 首页 > 面试题库 >

AngularJS 标记链接不起作用

荀裕
2023-03-14
问题内容

我有一个从搜索返回的对象的索引。该模板具有ng-repeat,其中项目的URL是根据模型中的数据构造的,但在最终标记中,“ a”标记无效。ng-
href和href正确,单击链接但页面未加载时,URL栏会更改。点击后刷新浏览器确实会获得页面。因此,Angular中的某些内容正在更改URL栏,但不会触发加载???

无法在jsfiddle中进行复制,因为问题似乎出在$
resource.query()函数之后,将json加载到模板中,而我无法从jsfiddle中做到这一点。使用模拟查询加载静态数据,即使最终标记看起来相同,jsfiddle也可以工作。

AngularJS模板如下所示:

<div ng-controller="VideoSearchResultsCtrl" class="row-fluid">
  <div class="span12" >
    <div class="video_thumb" ng-repeat="video in videos">
      <p>
        <a ng-href="/guides/{{video._id}}" data-method="get">
          <img ng-src="{{video.poster.large_thumb.url}}">
        </a>
      </p>
    </div>
  </div>
</div>

结果看起来不错,并产生以下最终标记:

<div ng-controller="VideoSearchResultsCtrl" class="row-fluid ng-scope">
  <div class="span12">
    <!-- ngRepeat: video in videos --><div class="video_thumb ng-scope" ng-repeat="video in videos">
      <p>
        <a ng-href="/guides/5226408ea0eef2d029673a80" data-method="get" href="/guides/5226408ea0eef2d029673a80">
          <img ng-src="/uploads/video/poster/5226408ea0eef2d029673a80/large_thumb_2101146_det.jpg" src="/uploads/video/poster/5226408ea0eef2d029673a80/large_thumb_2101146_det.jpg">
        </a>
      </p>
    </div><!-- end ngRepeat: video in videos -->
  </div>
</div>

控制器代码为:

GuideControllers.controller('VideoSearchResultsCtrl', ['$scope', '$location', 'VideoSearch',
    function($scope, $location, VideoSearch) {
        $scope.videos = VideoSearch.query({ namespace: "api", resource: "videos", action: 'search', q: $location.search().q });
    }
]);

使用AngularJS 1.2-rc.3。我也尝试过使用ng-
click和常规的旧onclick来加载即使带有静态URL的页面,但这些单击永远不会触发代码。此页面上的BTW静态非角度链接可以正常工作,因此菜单栏和注销有效。

我在这里做错了什么,或者这是AngularJS中的错误?


问题答案:

从邮件列表中,我得到了一个答案:

您是否有机会将$ locationProvider配置为html5Mode?如果是,这将导致您的问题。您可以通过在标签中添加target =“ _ self”来强制其始终转到网址。试一试。

我已经配置为使用HTML5,因此将target="_self"标记添加到标签中可以解决此问题。仍在研究为什么这样做。



 类似资料:
  • 我建立了一个包含通知中心的边栏,里面有内容、状态更新等。问题是我不能点击它们 这是其中一个内容块中的html。和时间戳周围的链接正常工作,但主链接是类不起作用 当我检查控制台时,我可以看到链接已经关闭,就在打开标签之后。为什么会这样? 这是侧边栏中的整个样式的jsfiddle,甚至还有这个问题。希望有人能帮我。 JSFIDLE

  • 我已经将WordPress网站迁移到新的服务器(Ubuntu)上,运行良好。 但是永久链接设置不起作用。所有其他页面返回我404错误。 我已经启用了 当我使用自定义结构和类型/%postname%时,它会显示Permalink结构已更新。当访问页面时,返回404错误。 我正在使用/var/www/html/wordpress Installation directory/作为一个文件夹,我已将/e

  • 我遵循了https://developer.android.com/training/app-indexing/deep-linking.html上的insttructions,但当我想通过触发意图时: 我只是得到 我犯了什么明显的错误吗?

  • 问题内容: 我正在开发一个非常消耗内存的应用程序,并且想要使用largeHeap- Tag,这应该为应用程序提供更多的内存。无论我在AndroidManifest.xml中将此标签设置为什么,它对我给定的实际内存都没有影响。我正在这样读出我的最大内存: 我的清单看起来像这样: 我在模拟器中运行3.1,上面的日志输出始终为48MB。有人可以帮忙吗? 问题答案: 使用ActivityManager.g

  • 我正在尝试将FBO的深度纹理和颜色纹理链接到GLSL着色器(版本4.0) 问题是,同时只有一个链接,这很奇怪,因为其他纹理可以很好地链接在一起(例如:漫反射贴图、法线贴图和镜面反射贴图) 以下是我的绑定RT代码: 我真的不知道这里怎么了。。。