小编And*_*ula的帖子

使用AngularJS限制字符串的长度

我有以下内容:

<div>{{modal.title}}</div>
Run Code Online (Sandbox Code Playgroud)

有没有办法可以将字符串的长度限制为20个字符?

还有一个更好的问题是,有一种方法可以将字符串更改为截断并...在结尾显示它是否超过20个字符?

filter angularjs angularjs-filter

224
推荐指数
10
解决办法
27万
查看次数

$ watch'ing用于Angular指令中的数据更改

如何$watch在操作内部数据时触发Angular指令中的变量(例如,插入或移除数据),但不能为该变量分配新对象?

我当前正在从JSON文件加载一个简单的数据集.我的Angular控制器执行此操作,并定义了一些函数:

App.controller('AppCtrl', function AppCtrl($scope, JsonService) {
    // load the initial data model
    if (!$scope.data) {
        JsonService.getData(function(data) {
            $scope.data = data;
            $scope.records = data.children.length;
        });
    } else {
        console.log("I have data already... " + $scope.data);
    }

    // adds a resource to the 'data' object
    $scope.add = function() {
        $scope.data.children.push({ "name": "!Insert This!" });
    };

    // removes the resource from the 'data' object
    $scope.remove = function(resource) {
        console.log("I'm going to remove this!");
        console.log(resource);
    };

    $scope.highlight = function() {

    }; …
Run Code Online (Sandbox Code Playgroud)

javascript angularjs angularjs-directive

132
推荐指数
1
解决办法
17万
查看次数

_servicename_中的下划线在AngularJS测试中意味着什么?

在下面的示例测试中,原始提供者名称是APIEndpointProvider,但是对于注入和服务实例化,约定似乎必须注入包含它的下划线.这是为什么?

'use strict';

describe('Provider: APIEndpointProvider', function () {

  beforeEach(module('myApp.providers'));

  var APIEndpointProvider;
  beforeEach(inject(function(_APIEndpointProvider_) {
    APIEndpointProvider = _APIEndpointProvider_;
  }));

  it('should do something', function () {
    expect(!!APIEndpointProvider).toBe(true);
  });

});
Run Code Online (Sandbox Code Playgroud)

我错过了一个更好的解释是什么?

unit-testing jasmine angularjs angularjs-service

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

Jasmine 2.0 async done()和angular-mocks inject()在同一个测试中()

我通常的测试用例看起来像

it("should send get request", inject(function(someServices) {
     //some test
}));
Run Code Online (Sandbox Code Playgroud)

并且Jasmine 2.0异步测试看起来应该是这样的

it("should send get request", function(done) {
     someAsync.then(function(){
         done();
     });
});
Run Code Online (Sandbox Code Playgroud)

如何在一次测试中同时使用done和inject?

javascript unit-testing mocking jasmine angularjs

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

AngularJS UI路由器$ state仅重载子状态

我正在使用UI路由器作为主菜单的选项卡以及其中一个状态(用户)内的链接.用户状态具有用户列表,当单击用户时,我想仅重新加载子状态,但它正在重新加载子状态和父状态(用户).

这是我的代码:

    app.config(function ($stateProvider, $locationProvider, $urlRouterProvider) {
    $urlRouterProvider.otherwise("/");
    $locationProvider.html5Mode(true);
    $stateProvider
        .state('home', {
            abstract: true,
            template: '<div ui-view=""></div>',
            controller: 'HomeController as homeCtrl'
        })
        .state('users', {
            parent: 'home',
            url: '/users',
            templateUrl: '/User/Index',
            controller: 'UserController as userCtrl',
        })
        .state('users.createUser', {
            templateUrl: '/User/CreateUser',
            controller: 'CreateUserController as cuCtrl'
        })
        .state('users.editUser', {
            templateUrl: '/User/EditUser',
            controller: 'EditUserController as euCtrl',
            resolve: {
                userInfo: function (contextInfo, userData) {
                    return userData.get(contextInfo.getUserKey());
                }
            }
        })
        .state('users.addWebItemsForUser', {
            templateUrl: '/User/AddWebItemsForUser',
            controller: 'UserWebItemsController as uwiCtrl'
        })
        .state('users.addReportsForUser', {
            templateUrl: '/User/AddReportsForUser',
            controller: 'UserReportsController as …
Run Code Online (Sandbox Code Playgroud)

angularjs angularjs-routing angular-ui-router

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

如何在ngClass中使用AngularJS过滤器?

我正在学习AngularJS并玩教程.

我正在修改教程示例过滤器以返回一些字符串:

angular.module('phonecatFilters', []).filter('checkmark', function() {
  return function(input) {
    return input ? 'true-class' : 'false-class';
  };
});
Run Code Online (Sandbox Code Playgroud)

我想用它ngClass如下:

{{phone.trueVal  | checkmark}} <i ng-class="{{phone.trueVal  | checkmark }}"></i>
{{phone.falseVal | checkmark}} <i ng-class="{{phone.falseVal | checkmark }}"></i>
Run Code Online (Sandbox Code Playgroud)

结果:

true-class <i class="false-class">
false-class <i class="false-class">
Run Code Online (Sandbox Code Playgroud)

现在..而对于简单的视图,过滤器按预期工作..为什么它不适用于ngClass?什么是使用过滤值的正确方法ngClass(和其他类似的ngSrc等).

filter angularjs angularjs-filter

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

在JSON中使用nil而不是Optional(<null>)作为null值

在斯威夫特,NSJSONSerialization.JSONObjectWithData使用Optional(<null>)null在JSON值.是否可以告诉解析使用nil(即删除带有null值的字段,因为Swift Dictionary不允许nil值)?

json swift

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

传递变量时正确使用curl --data-urlencode

我正在尝试优化我的代码,并借用了一段特定的代码.我想删除sed所以我没有在主循环中使用任何外部进程.

function sendMsg () {
value=$(echo $1 | sed 's/ /%20/g;s/!/%21/g;s/"/%22/g;s/#/%23/g;s/\&/%26/g;s/'\''/%28/g;s/(/%28/g;s/)/%29/g;s/:/%3A/g;s/\//%2F/g');
str="http://www.xxxx.com/api.ashx?v=1&k=$Key&a=send&w=$value";
curl -s $str;
}
Run Code Online (Sandbox Code Playgroud)

为了清楚起见,我编辑了这个.$ value只是通过函数末尾的curl命令转换为适当的url输出.

虽然这很好用,但我最感兴趣的是尽可能快地处理它,如果可以的话,不要求外部进程.

感谢您的评论到目前为止!

我到目前为止是这样的:

function sendMsg () {
str="http://www.xxxx.com/api.ashx?v=1&k=$Key&a=send&w=";
curl -s $str --data-urlencode "$1";
}
Run Code Online (Sandbox Code Playgroud)

我至少在正确的轨道上吗?

bash optimization curl sed

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

配置jasmine-jquery以使用Karma

我试图配置Karma使用jasmine-jquery但没有成功...

在我的karma.conf.js文件中,我配置了框架:

frameworks: ['jasmine'],
Run Code Online (Sandbox Code Playgroud)

并加载了所需的依赖项:

    files: [
        '../bower_components/jquery/dist/jquery.js',
        '../bower_components/jasmine-jquery/lib/jasmine-jquery.js',
        ...
Run Code Online (Sandbox Code Playgroud)

但是当我使用grunt测试运行我的测试时,我有以下内容:

    TypeError: undefined is not a function
        at null.<anonymous> (/home/sofarell/workspace/myapp/bower_components/jasmine-jquery/lib/jasmine-jquery.js:352:13)
Run Code Online (Sandbox Code Playgroud)

看一下jasmine-jquery.js的源代码,看起来好像没有找到jasmine引用,因为在jasmine之前加载了jasmine-jquery:

351. beforeEach(function () {
352.   jasmine.addMatchers({
353.     toHaveClass: function () {
Run Code Online (Sandbox Code Playgroud)

还有其他人遇到过这个问题吗?有办法解决这个问题吗?

jasmine jasmine-jquery gruntjs karma-runner

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

是否可以使用Xcode构建脚本将JSON文件下载到应用程序包?

我有一个本地运行的Web服务器,它从许多端点提供JSON格式的数据.我目前将每个端点的数据包含在单独的.json文件中,我手动将其添加到应用程序包中以便在应用程序中使用.是否可以在构建项目时自动执行此过程,可能使用Xcode构建脚本?

下面是我想要实现的一个例子.

  1. 从localhost:3000/example获取JSON格式的数据.
  2. 如果无法到达端点,请在此处停止.
  3. 将数据保存在名为example.json的文件中.
  4. 将example.json添加到应用程序包以在应用程序中使用.

任何有关这方面的帮助将不胜感激.

编辑

我已经获取了JSON格式的数据,但我现在正在寻找如何将这些数据复制到应用程序包中.

curl -o example.json http://localhost:3000/example
Run Code Online (Sandbox Code Playgroud)

bash shell xcode json ios

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