我有一个int值,我想呈现为数字向下,ID为"Quantity",所以我在剃刀中执行以下操作:
<div class="field-label">@Html.LabelFor(m => model.Quantity)</div>
<div class="field-editor">@Html.EditorFor(m => model.Quantity, null, "Quantity")</div>
Run Code Online (Sandbox Code Playgroud)
在chrome中,这给了我正确的UI,但是我想设置min,max和default值,所以它的工作方式类似于下面的代码.
<input id="Quantity" type="number" name="quantity" min="0" max="10" value="0" >
Run Code Online (Sandbox Code Playgroud) 这看起来应该很简单,但它让我望而却步.我想将我的日期字符串转换为日期对象并过滤它的显示方式.
我有一个简单的角度应用程序和控制器
myApp.controller('myAppCtrl', function($scope) {
$scope.MyDate = Date("2014-09-23T15:26:49.1513672Z");
})
Run Code Online (Sandbox Code Playgroud)
我从服务器返回JSON,我使用的日期是上述格式的字符串
从有关日期过滤器的角度文档
<span>{{1288323623006 | date:'medium'}}</span><br>
Run Code Online (Sandbox Code Playgroud)
这项工作和出局是:2010年10月28日下午8:40:23
当我尝试在$ scope.MyDate上使用过滤器时,如下所示:
{{MyDate | date:'medium'}}
Run Code Online (Sandbox Code Playgroud)
日期没有格式化,但看起来像这样:Wed Sep 24 2014 07:40:02 GMT-0700(Pacific Daylight Time)
最后,我想将输入文本框绑定到此值并按如下方式对其进行过滤:
<input type="text" class="form-control" ng-model="MyDatee | date:'medium'"/>
Run Code Online (Sandbox Code Playgroud)
我希望一旦我得到简单的版本工作,我可以通过文本输入解决我的实际问题.
我有一个选择使用ng-options填充选择如下:
<select class="form-control"
ng-model="Data.selectedPerson"
ng-options="v as (v.Name ) for v in Data.people track by v.Name">
</select>
Run Code Online (Sandbox Code Playgroud)
如果人员集合为空或者尚未选择任何值,我不希望为集合添加默认值.我想在select中有一个提示,鼓励他们使用select.谢谢你的建议.
我正在从 JSON 创建一些对象,我想制作一个对象的空副本。我将拥有所有相同的属性,但值为空。有什么好的方法可以做到这一点?
现在我正在按如下方式执行此操作,但希望它从我从收到的 JSON 创建的对象中变得动态。
var myObject = { "Address": { "Address1": "", "Address2": "", "Address3": "", "Address4": "", "City": "", "": "", "": "", "Country": "", "Id": -1, "LastModified": "", "PostBackAction": null }, "Id": -1, "Amenities": "", "Directions": "", "LastModified": "", "LocalAttractions": "", "LocalLodging": "", "LocalRestaraunts": "", "Name": "", "Pictures": "", "Prices": "", "Region": 0, "PostBackAction": null };
Run Code Online (Sandbox Code Playgroud)
一个可能的解决方案不起作用,因为它复制了值。
var myObject = JSON.parse(JSON.stringify(objectToBeCopied));
Run Code Online (Sandbox Code Playgroud) 所以我知道我必须错过这个问题的javascript的一些基本部分,但无论如何它在这里:
我有一个控制器,其中声明了一个变量:
$scope.IsStartDatePickerHidden = true;
$scope.IsEndDatePickerHidden = true;
Run Code Online (Sandbox Code Playgroud)
我有一个按钮,其ng-click设置为我的控制器中的一个功能.如果它接受一个可以改变值的参数,那么这个函数会很好:
<button type="button" ng-click="showDatePicker(IsStartDatePickerHidden)" >
$scope.showDatePicker = function(showDatePicker)
{
showDatePicker = false;
}
Run Code Online (Sandbox Code Playgroud)
当我单步执行此代码时,函数showDatePicker会更改传入的参数的值,但似乎不会更改控制器中变量的值,因此没有任何反应.我确信这必须与通过引用传递有关.我只是不确定如何传递这个,以便$ scope.IsStartDatePickerHidden或$ scope.IsEndDatePickerHidden根据我传入的更改.
我可以使用jquery设置属性,如下例所示
$('#MyElement').attr('max', 5);
Run Code Online (Sandbox Code Playgroud)
如何在不使用jquery的情况下完成此操作?
所以我使用ng-repeat列出一些关于事件的信息,其中一个是日期字段.我想过滤日期,例如,能够在接下来的30天内显示事件.我不确定要采取什么方向来实现这一目标.
<table>
<tr>
<th>Title</th>
<th>Description</th>
<th>Start Time</th>
</tr>
<tr ng-repeat="eventData in eventListData | orderBy:'+StartDateTime'">
<td>{{eventData.Title}}</td>
<td>{{eventData.Description}}</td>
<td>{{eventData.StartDateTime|date:'d MMM yyyy'}}</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud) 我正在使用工厂在多个控制器之间共享数据,这是我的工厂
var szGetData = "some url that works";
myApp.factory('Data', function ($http) {
var eventData = {};
eventData.getEvent = function (event) {
return $http.get(szGetData, event);
}
return eventData;
});
Run Code Online (Sandbox Code Playgroud)
在我的控制器中,我按照以下方式为每个工厂调用相同的方式:
Data.getEvent()
.success(function (event) {
$scope.eventData = event;
})
.error(function (error) {
$scope.status = 'Unable to load customer data: ' + error.message;
});
Run Code Online (Sandbox Code Playgroud)
这一切都有效,我得到数据,但它调用我的网络服务三次,每个控制器都有自己的数据副本.我想让控制器使用相同的数据,只调用一次Web服务.谢谢你的建议.