一尘不染

ng单击移动或平板设备上的触发

angularjs

在页面加载时,我有一个调用服务的控制器,然后将返回的数据绑定到某些$ scope.objects:

app.controller("MainController", function($scope, $http, serviceGetData) {

    serviceGetData.getData(function(data) {
        $scope.LoginCount = data.LoginCount;
        $scope.ProductInfo = data.ProductInfo;
        $scope.ProfileInfo = data.ProfileInfo;

        // Delayed binding
        $scope.OrderHistory  = { History: [] };
    }

    $scope.populateModel = function(model, values) {
        var isArray = $.isArray(values);

        $.each(values, function(key, value) {

            if (isArray) {
                key = this.key;
               value = this.value;
            }

            if (model[key] !== value) {
                model[key] = value;
            }

        });
    };
}

在我的HTML中,我尝试通过以下方式绑定$ scope.OrderHistory:

<h1><a href="#" ng-click="populateModel(OrderHistory  , { History: OrderEntries })" >View order details</a></h1>

在笔记本电脑/台式机上观看时很好,但在平板电脑和移动设备(例如iPhone / iPad)上无法使用


阅读 198

收藏
2020-07-04

共1个答案

一尘不染

尝试添加ngTouch。从文档:

ngClick设计用于触摸屏设备的默认功能的更强大替代品。大多数移动浏览器在点击并释放后等待300毫秒左右,然后再发送click事件。此版本立即处理它们,然后阻止传播以下click事件。

需要ngTouch安装模块。

2020-07-04