小编Ron*_*nie的帖子

AngularJS使用ng-class切换类

我试图使用转换元素的类 ng-class

<button class="btn">
  <i ng-class="{(isAutoScroll()) ? 'icon-autoscroll' : 'icon-autoscroll-disabled'}"></i>
</button>
Run Code Online (Sandbox Code Playgroud)

isAutoScroll():

$scope.isAutoScroll = function()
{
    $scope.autoScroll = ($scope.autoScroll) ? false : true;
    return $scope.autoScroll;
}
Run Code Online (Sandbox Code Playgroud)

基本上,如果$scope.autoScroll是真的,我想要ng-class icon-autoscroll,如果它是假的,我希望它是icon-autoscroll-disabled

我现在所拥有的不起作用,并在控制台中产生此错误

Error: Lexer Error: Unexpected next character at columns 18-18 [?] in expression [{(isAutoScroll()) ? 'icon-autoscroll' : 'icon-autoscroll-disabled'}].

我该如何正确地做到这一点?

编辑

解决方案1 ​​:(过时)

<button class="btn" ng-click="autoScroll = !autoScroll">
  <i ng-class="{'icon-autoscroll': autoScroll, 'icon-autoscroll-disabled': !autoScroll}"></i>
</button>
Run Code Online (Sandbox Code Playgroud)

编辑2

解决方案2:

我想更新解决方案Solution 3,因为Stewie提供的应该是使用的解决方案.对于三元运算符来说,这是最标准的(对我来说最容易阅读).解决方案是

<button class="btn" ng-click="autoScroll = !autoScroll">
  <i ng-class="autoScroll ? 'icon-autoscroll' …
Run Code Online (Sandbox Code Playgroud)

javascript angularjs

217
推荐指数
4
解决办法
27万
查看次数

Angular HTTP发布到PHP并且未定义

我有一个带标签的表格 ng-submit="login()

该函数在javascript中被称为fine.

function LoginForm($scope, $http)
{
    $http.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8';

    $scope.email    = "fsdg@sdf.com";
    $scope.password = "1234";

    $scope.login = function()
    {
        data = {
            'email' : $scope.email,
            'password' : $scope.password
        };

        $http.post('resources/curl.php', data)
        .success(function(data, status, headers, config)
        {
            console.log(status + ' - ' + data);
        })
        .error(function(data, status, headers, config)
        {
            console.log('error');
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

我从PHP文件中得到200 OK响应,但是,返回的数据是这样email并且password未定义.这是我的所有PHP

<?php
$email = $_POST['email'];
$pass  = $_POST['password'];
echo $email;
?>
Run Code Online (Sandbox Code Playgroud)

知道为什么我得到未定义的POST值吗?

编辑

我想指出,因为这似乎是一个受欢迎的问题(但它已经过时了),.success并且.error已经被弃用了,你应该使用 …

javascript php angularjs

106
推荐指数
8
解决办法
13万
查看次数

VideoView播放状态或MediaController播放/暂停的事件

我似乎无法找到一个侦听播放状态的事件.我最感兴趣的是play/pause国家.我正在使用MediaController它有一个Play/Pause按钮,但我有一个辅助按钮,也可以控制Play/Pause.使用我的自定义按钮,我可以play/pause,但如果我play/pause使用MediaController play/pause按钮,我目前无法将自定义play/pause按钮上的图像更改为播放或暂停.

是否有一个我不知道的事件,所以我可以在播放/暂停期间做一些工作?

这是一个非常类似的问题:如何在MediaController上单击暂停/播放按钮时捕获事件

android playback mediacontroller

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

Android后退按钮和MediaController

我知道如何控制后退按钮.我有一个VideoView嵌入式FrameLayout.我的问题是当视频弹出时,视频控件会出现几秒钟.在可见时按下后退按钮会隐藏视频控件.有没有办法忽略该功能并执行下一步后退操作,就好像视频控件不可见?

我问的原因是,如果我真的想要回去,我必须按两次后退按钮; 一次隐藏控件,第二次实际返回

android back-button back mediacontroller

27
推荐指数
4
解决办法
7822
查看次数

一种了解Angular $ http何时"请求"的方法

$http在用户点击a时发出请求,<button>并在屏幕上禁用/隐藏/显示多个元素,直到请求返回任一successerror

有没有办法知道$http还没有回复?我现在正在做的方式是我的控制器中有一个var,$scope.requesting然后我在我的HTML页面中使用它,如下所示:

<img src="img/loader.gif" ng-show="requesting" />
Run Code Online (Sandbox Code Playgroud)

所以基本上$scope.requesting是真的,显示旋转的ajaxyish装载机.

$scope.requesting如果可能的话,我想放弃它,并使用任何$http提供的东西,如果有的话.

登录控制器

function LoginForm($scope, $http)
{
    $scope.requesting = false;

    $scope.login = function()
    {
        $scope.requesting = true;

        $http.post('resources/request.php', data, {timeout:20000})
            .success(function(data, status, headers, config)
            {
                $scope.requesting = false;
            })
            .error(function(data, status, headers, config)
            {
                $scope.requesting = false;
            }
        );
    }
}
Run Code Online (Sandbox Code Playgroud)

javascript angularjs

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

如何使用ngrok指定哪个域

我使用mamp,我在端口8888上都有虚拟主机.例如:

  • site1.dev:8888
  • site2.dev:8888

将指向localhost/site1/,localhost/site2/等等.

在使用虚拟主机之前,我只是将我的docroot更改为我当前正在处理的任何项目,并且会像这样开始ngrok

./ngrok http 8888 它会启动并给我一个随机生成的*.ngrok.io网址.

我的问题是,我现在如何指定域,因为我使用的是虚拟主机?

我已经尝试过./ngrok http site1.dev:8888,它开始但只是提供mamps webroot.

我正在使用免费帐户.

ngrok

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

AngularJS $ cookies不会持久存在

我有一个记住用户名功能的登录表单.他们所做的只是勾选方框,并通过以下方式保存cookie:

$scope.toggleCookie = function()
{
    //-- $scope.remember is the model for the checkbox
    $cookieStore.put('remember', $scope.remember);
    if (!$scope.remember) $cookieStore.remove('email');
}
Run Code Online (Sandbox Code Playgroud)

当用户返回登录页面时,首先检查remembercookie:

$scope.remember = ($cookieStore.get('remember') == null || $cookieStore.get('remember') == false) ? false : true;
Run Code Online (Sandbox Code Playgroud)

然后我检查emailcookie中是否有值:

$scope.email = ($cookieStore.get('email') != null) ? $cookieStore.get('email') : '';
Run Code Online (Sandbox Code Playgroud)

现在以上所有工作正常,我可以登录检查,注销,我可以在输入字段中看到我的用户名.如果我取消选中它,登录并注销,用户名就会消失.

我也可以在chrome dev工具的resources-> cookies选项卡中看到这种情况.

我可以刷新页面,但是,当检查时,用户名就在那里.

我的问题是当我关闭chrome时,重新打开它,所有的cookie数据都消失了.为什么是这样?我没有太多使用cookies的经验.

javascript cookies angularjs

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

旋转手机重启Android上的视频

嘿,伙计们,当我旋转手机时,我的活动重新启动.我有视频播放视频,我旋转,视频重新启动.现在我发现将此添加到我在清单中的活动中修复了它

<activity android:name="Vforum" android:configChanges="orientation"></activity>
Run Code Online (Sandbox Code Playgroud)

现在的问题是视频控件在它们消失并返回之前不会被重绘,从而使得从横向到纵向模式的真正长控制或者从纵向到横向的真正短控制.一旦它们消失然后我点击使它们回来,然后它们的尺寸正确.有没有更好的方法呢?

video controls android android-videoview

9
推荐指数
1
解决办法
9437
查看次数

Android MediaController拦截所有其他触摸事件

我的应用程序的上半部分VideoView有一个MediaController下面的.下半部分是带有一些按钮的图像.虽然MediaController可见,但下面的按钮不可点击.它就像是MediaController可见的,它会拦截所有其他触摸事件,即使它们不在范围内MediaController.

有什么想法吗?

android touch-event mediacontroller

9
推荐指数
2
解决办法
3171
查看次数

在Android上按回按钮时关闭应用程序

所以我的登录活动是你看到的第一个屏幕.当你点击后退按钮时,它退出应用程序,很好.所以我再次打开应用程序.登录后,我现在在我的主要活动中.当我现在点击后退按钮时,如何实现它,它退出应用程序而不是返回登录活动?

android button exit back

8
推荐指数
1
解决办法
4938
查看次数