我有以下内容:
<div>{{modal.title}}</div>
Run Code Online (Sandbox Code Playgroud)
有没有办法可以将字符串的长度限制为20个字符?
还有一个更好的问题是,有一种方法可以将字符串更改为截断并...在结尾显示它是否超过20个字符?
如何$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) 在下面的示例测试中,原始提供者名称是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)
我错过了一个更好的解释是什么?
我通常的测试用例看起来像
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?
我正在使用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并玩教程.
我正在修改教程示例过滤器以返回一些字符串:
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等).
在斯威夫特,NSJSONSerialization.JSONObjectWithData使用Optional(<null>)了null在JSON值.是否可以告诉解析使用nil(即删除带有null值的字段,因为Swift Dictionary不允许nil值)?
我正在尝试优化我的代码,并借用了一段特定的代码.我想删除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)
我至少在正确的轨道上吗?
我试图配置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)
还有其他人遇到过这个问题吗?有办法解决这个问题吗?
我有一个本地运行的Web服务器,它从许多端点提供JSON格式的数据.我目前将每个端点的数据包含在单独的.json文件中,我手动将其添加到应用程序包中以便在应用程序中使用.是否可以在构建项目时自动执行此过程,可能使用Xcode构建脚本?
下面是我想要实现的一个例子.
任何有关这方面的帮助将不胜感激.
编辑
我已经获取了JSON格式的数据,但我现在正在寻找如何将这些数据复制到应用程序包中.
curl -o example.json http://localhost:3000/example
Run Code Online (Sandbox Code Playgroud) angularjs ×6
jasmine ×3
bash ×2
filter ×2
javascript ×2
json ×2
unit-testing ×2
curl ×1
gruntjs ×1
ios ×1
karma-runner ×1
mocking ×1
optimization ×1
sed ×1
shell ×1
swift ×1
xcode ×1