【发布时间】:2015-07-02 01:28:44
【问题描述】:
我对此感到困惑.. 我有这段代码:
<a href=" #/products/{{product.id}}" ng-click="customFunction()">
product 是一个带有 'id' 元素的对象。
customFunction 将产品添加到购物车中的位置
将两者结合起来是因为href 元素中的路由允许访问可自定义添加产品的新页面。
代码和路由跨浏览器运行良好,除了在手机上(至少是安卓,Chrome 浏览器和本机浏览器)。在 Android 手机上,只有 ng-click 会在点击时做出反应。但是我仍然可以通过按链接并在新选项卡中打开来打开href 路由的网页:oO
我的路由看起来像这样(app.js):
when('/products/:productId', {
templateUrl: 'partials/store_composition.html',
controller: 'mainCtrl'
})
在主Ctrl中调用getProduct函数:
if ($routeParams.productId != null) {
$scope.product = $scope.store.getProduct($routeParams.productId);
}
在此处访问store.js 文件:
store.prototype.getProduct = function (id) {
for (var i = 0; i < this.products.length; i++) {
if (this.products[i].id== id)
return this.products[i];
}
return null;
}
而且它运行良好...除了在 android 上!但是如果长按新标签,链接仍然存在:s:s
有什么想法吗?
更新:
我注意到 android/chrome 导航栏中的 URL 永远不会改变。与常规浏览器中发生的情况相反(app/index.html#/products/batavia400 等 URL 会在顶部更新)
但是除了我在帖子中链接的路线之外,我的应用程序中的所有其他路由都在工作(没有 url 更新只是一样的......:/)
已解决: 我实际上通过添加
解决了这个问题 <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
它的 user-scalable=no 成功了。
android 默认情况下,屏幕会略微缩放,这会在用户触摸 div 链接时产生冲突。
我想如果我的网页设计技能更好,我就不会有问题了;)
【问题讨论】:
-
“但我仍然可以通过点击链接并在新标签页中打开通过 href 路由的网页” - 点击链接应该 导航到 URL。如果您只想要
ng-click操作,请删除 href? -
我都想要。现在在android上好像没有href。代码再次适用于 chrome/firefox/IE...
-
customFunction()包含什么内容以及它的用途是什么?需要href和ng-click似乎很奇怪 -
嗨,正如我所说,该功能在购物车中添加了一个项目。 Href 重定向到购物车项目可以进一步定制的页面。我不明白为什么会很奇怪,否则你会怎么做?
-
我找不到任何文档可以保证 “非空 href 和 ng-click 点击”的生命周期。这不应该是一个标准的东西。我只想用
customFunction中的路由器更改位置@
标签: android angularjs url-routing href