我有以下内容:
<div>{{modal.title}}</div>
Run Code Online (Sandbox Code Playgroud)
有没有办法可以将字符串的长度限制为20个字符?
还有一个更好的问题是,有一种方法可以将字符串更改为截断并...在结尾显示它是否超过20个字符?
我有一套<li>元素.
<ul>
<li ng-class="{current: selected == 100}">
<a href ng:click="selected=100">ABC</a>
</li>
<li ng-class="{current: selected == 101}">
<a href ng:click="selected=101">DEF</a>
</li>
<li ng-class="{current: selected == $index }"
ng-repeat="x in [4,5,6,7]">
<a href ng:click="selected=$index">A{{$index}}</a>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
当用户点击上面的某个地址元素然后它应该,设置所选的值并显示<DIV>以下元素之一:
<div ng:show="selected == 100">100</div>
<div ng:show="selected == 101">101</div>
<div ng-repeat="x in [4,5,6,7]" ng:show="selected == $index">{{ $index }}</div>
Run Code Online (Sandbox Code Playgroud)
这适用于前两种情况.
<DIV>显示100并将颜色更改为红色.但是它对于A0,A1,A2和A3根本不起作用
如果您查看此Plunker,最好显示:
http://plnkr.co/edit/7HMeObplaBkx5R0SntjY?p=preview
请注意,在顶部我已添加{{ selected }}为顶部的调试辅助工具.这x in [4,5,6,7]也只是为了模拟一个循环.在现实生活中,我有这个ng-repeat="answer in modal.data.answers".
有谁知道如何设置它,以便 …
我这样编码:
$.ajax({ cache: false,
url: "/Admin/Contents/GetData",
data: { accountID: AccountID },
success: function (data) {
$('#CityID').html(data);
},
error: function (ajaxContext) {
alert(ajaxContext.responseText)
}
});
Run Code Online (Sandbox Code Playgroud)
但是当我最后查看jQuery .ajax()文档时,似乎建议我应该像下面这样编码,或者至少它建议添加一个.done()和一个.fail():
var request = $.ajax({ cache: false,
url: "/Admin/Contents/GetData",
data: { accountID: AccountID }
});
request.done(function (data) {
xxx;
});
request.fail(function (jqXHR, textStatus) {
xxx;
});
Run Code Online (Sandbox Code Playgroud)
更新
如果我这样的代码是相同的,还是有一些优势将它分成三个?
$.ajax({ cache: false,
url: "/Admin/Contents/GetData",
data: { accountID: AccountID }
}).done(function (data) {
xxx;
}).fail(function (jqXHR, textStatus) {
xxx;
});
Run Code Online (Sandbox Code Playgroud) 我想在AngularJS应用程序中添加一些实用程序功能.例如:
$scope.isNotString = function (str) {
return (typeof str !== "string");
}
Run Code Online (Sandbox Code Playgroud)
最好的方法是将它们添加为服务吗?从我所看到的,我可以做到这一点,但后来我想在我的HTML页面中使用这些,所以如果它们在服务中仍然可能吗?例如,我可以使用以下内容:
<button data-ng-click="doSomething()"
data-ng-disabled="isNotString(abc)">Do Something
</button>
Run Code Online (Sandbox Code Playgroud)
有人能给我一个如何添加这些的例子.我应该创建服务还是有其他方法来实现它.最重要的是,我希望这些实用程序功能在一个文件中,而不是与主要设置的另一部分相结合.
我知道有一些解决方案,但没有一个是如此清晰.
解决方案1 - Urban提出的建议
$scope.doSomething = ServiceName.functionName;
Run Code Online (Sandbox Code Playgroud)
这里的问题是我有20个功能和10个控制器.如果我这样做,那将意味着为每个控制器添加大量代码.
解决方案2 - 由我提出
var factory = {
Setup: function ($scope) {
$scope.isNotString = function (str) {
return (typeof str !== "string");
}
Run Code Online (Sandbox Code Playgroud)
这样做的缺点是,在每个控制器的开头,我会对通过$ scope的每个服务进行一次或多次这些Setup调用.
解决方案3 - Urban提出的建议
城市提出的创建通用服务的解决方案看起来很好.这是我的主要设置:
var app = angular
.module('app', ['ngAnimate', 'ui.router', 'admin', 'home', 'questions', 'ngResource', 'LocalStorageModule'])
.config(['$locationProvider', '$sceProvider', '$stateProvider',
function ($locationProvider, $sceProvider, $stateProvider) {
$sceProvider.enabled(false);
$locationProvider.html5Mode(true);
Run Code Online (Sandbox Code Playgroud)
我应该将通用服务添加到此,我该怎么做?
我对这两个术语感到很困惑.我检查了stackoverflow,对于C++有一个类似的问题,但对于java则没有.
有人可以解释java的两个术语之间的区别吗?
我只在我的应用程序中使用一行jQuery:
$("div.printArea").printArea();
Run Code Online (Sandbox Code Playgroud)
但这给了我一个Typescript错误:
JQuery类型中不存在属性'printArea'?
有人能告诉我如何阻止出现这个错误吗?
我有一些.sql文件,我只是第一次推送到github.但是当我查看提交时它会说:
BIN ????? WebRole/Sql/Database.sql View
Binary file not shown
Run Code Online (Sandbox Code Playgroud)
有人能告诉我它为什么说"二进制文件没有显示"
当一些调用工作而其他调用失败时,$ q.all()会发生什么?
我有以下代码:
var entityIdColumn = $scope.entityType.toLowerCase() + 'Id';
var requests = $scope.grid.data
.filter(function (rowData, i) {
return !angular.equals(rowData, $scope.grid.backup[i]);
})
.map(function (rowData, i) {
var entityId = rowData[entityIdColumn];
return $http.put('/api/' + $scope.entityType + '/' + entityId, rowData);
});
$q.all(requests).then(function (allResponses) {
//if all the requests succeeded, this will be called, and $q.all will get an
//array of all their responses.
console.log(allResponses[0].data);
}, function (error) {
//This will be called if $q.all finds any of the requests erroring.
var abc …Run Code Online (Sandbox Code Playgroud) 我一直在努力寻找例子,但根本找不到任何东西.我唯一知道的是我可以使用http模块来获取我的数据.这是我目前正在做的事情,但它是用Knockout编码的.有人可以给我一些关于如何使用AngularJS重新编码此功能的建议吗?
HTML
<select id="testAccounts"
data-bind="options: testAccounts, optionsValue: 'Id', optionsText: 'Name', optionsCaption: 'Select Account', value: selectedTestAccount">
</select>
Run Code Online (Sandbox Code Playgroud)
使用Javascript
<script type='text/javascript'>
$(document).ready(function () {
var townSelect = function () {
var self = this;
self.selectedTestAccount = ko.observable();
self.testAccounts = ko.observableArray();
var townViewModel = new townSelect();
ko.applyBindings(townViewModel);
$.ajax({
url: '/Admin/GetTestAccounts',
data: { applicationId: 3 },
type: 'GET',
success: function (data) {
townViewModel.testAccounts(data);
}
});
});
</script>
Run Code Online (Sandbox Code Playgroud) 我检查了文档.我想要的是我的数字有四位数和前导零.
22 to 0022
1 to 0001
Run Code Online (Sandbox Code Playgroud)
有人可以帮助并告诉我这是否可以使用数字或其他类型的过滤器?