草庐IT

passing-data-between-view-control

全部标签

javascript - angular ui router - 必须点击两次才能按预期更新 View (带演示)

我是Angular的新手,刚刚开始掌握AngularUI路由器框架。我有一个html页面,其中包含一个问题列表(每个问题都需要自己的url)和一个结果页面。我创建了一个快速精简的plunker(包含所有文件)来演示这个问题:http://plnkr.co/edit/QErnkddmWB0JgendbOiV?p=preview对于SO引用:应用程序.jsangular.module('foo',['ui.router']).config(function($stateProvider,$urlRouterProvider){$urlRouterProvider.otherwise('/q

javascript - AngularJS - 最佳实践 : model properties on view or function calls?

很长一段时间以来,我一直在想这个问题:在使用AngularJS时,我应该直接在View上使用模型对象属性,还是可以使用函数来获取该属性值?我一直在用Angular做一些小的家庭项目,并且(特别是使用只读指令或Controller)我倾向于创建范围函数来访问和显示范围对象及其在View上的属性值,但是性能-明智的,这是一个好方法吗?这种方式似乎更容易维护View代码,因为如果由于某种原因对象被更改(由于服务器实现或任何其他特定原因),我只需要更改指令的JS代码,而不是HTML.这是一个例子://thisgoesinsidedirective'slinkfunctionscope.getP

javascript - 如何将多个列表从 Controller 操作返回到 ajax 成功回调函数

我正在创建一个mvc.net项目,其中我有如下jqueryajax请求$.ajax({url:"@Url.Action("getdata","SeatPlans")",data:{seat_plane_id:17},type:"POST",dataType:"json",success:function(data){loadData(data);},error:function(){alert("Failed!Pleasetryagain.");}});调用以下Controller操作publicJsonResultgetdata(intseat_plane_id){intlid=se

javascript - 如何通过签名 URL 在 S3 对象上定义 Cache-Control header ?

按照thisguide中的说明进行操作,我已经设法让上传通过签名的URL工作。它看起来像这样:consts3=newaws.S3();consts3Params={Bucket:S3_BUCKET,Key:fileName,Expires:60,ContentType:fileType,ACL:'public-read',CacheControl:'public,max-age=31536000',};s3.getSignedUrl('putObject',s3Params,(err,data)=>{//...});...除了我的CacheControl参数(我自己添加;它不在指南中)

javascript - "No locale data has been provided"不管传入什么

我正在尝试使用intl进行一些格式化,但无论我作为语言环境传入什么,我总是会收到以下错误消息:ReferenceError:Nolocaledatahasbeenprovidedforthisobjectyet我尝试了以下方法:newIntl.NumberFormat('en-ZA',{minimumFractionDigits:percentDecimals});还有newIntl.NumberFormat(['en-ZA'],{minimumFractionDigits:percentDecimals});我不确定还能做什么。我已将包添加到package.json"intl":"l

javascript - 如何在初始 View 模型加载为空时初始化 Knockout View 模型

我正在使用Knockout来实现类(class)列表选择工具。我正在使用下面的方法来填充数据(MVC3/Razor),以便在最初填充View模型时,我可以毫无问题地使用每个KO数组(即CourseList、ScheduleList)。但是,当服务器的初始加载返回零行时,这意味着View模型的“ScheduleList”属性为空,则无法调用任何方法,例如.push()或.removeAll()。据推测,这意味着从未创建可观察数组,因为没有任何东西可以填充它。填充模型后,ScheduleList属性会填充一个列表。当MVC操作将其返回为空时,实例化它的最佳方法是什么?有一个jsFiddle

javascript - 使用 $routeParams 资源对 AngularJS Controller 进行单元测试

注意:我正在用CoffeeScript编写所有内容我有一个Controller如下:angular.module('myApp').controller'MyController',($scope,$routeParams,Batch)->$scope.$on'$routeChangeSuccess',()->Batch.get{batchUuid:$routeParams.batchUuid},(response)->$scope.batch_id=response.idcontroller拉取Batch资源,定义如下:angular.module('myApp').factory'

javascript - AngularJS Controller 取决于 URL 参数

编辑:添加了$routeProvider和$routeParams,但$routeParams.productId始终未定义。这是我最初的尝试,但我认为这是错误的方式。反正暂时不行。我开始学习AngularJS,我有一个非常简单的问题:根据URL中包含的ID,我想显示不同的BD记录。...{{record}}...我的Javascript文件:varMyApp=angular.module("MyApp",[]);MyApp.config(['$routeProvider',function($routeProvider){$routeProvider.when('/get/:prod

javascript - AngularJS - 我的部分 Controller

我有一个模板,它在我的DOM中追加了很多次。contentdoesnotmatter因此Controller被多次验证。这是一个问题,因为如果我在Controller中放置一个观察者theController=function($scope){$scope.$on('myVar',function(){//runonetimeforeachtimethetemplateisrepeated})}关于如何避免这种情况的任何想法?提前致谢。更新好的,我会尽量说得更清楚。也许我有一个表单,它是根据异步请求的响应动态构建的。Controller是这样的:functionformControll

javascript - Angular : Push item to list doesn't update the view

当我将项目推送到数组时,View不会刷新列表。表格:{{product.Code}}{{product.Name}}形式:Code:Naam:在Controller中提交产品:$scope.submitProduct=function(){console.log('before:'+$scope.products.length);$scope.products.push({Code:$scope.product.Code,Name:$scope.product.Name});console.log('after:'+$scope.products.length);console.log