是否有强制angular更新/重新编译绑定中的变量的方法?当我将数组(在我的HTML中定义为for循环)设置为[]时,我遇到了一个问题,但它没有得到响应。有什么想法吗?一个解决方法是确保使用相同的数组引用。每当我想将所有元素更新为绑定数组时,我都是这样做的:
myArray.length = 0;
angular.forEach(newArray, function(item){
myArray.push(item);
})
// Note: try without this line
AngularJS有一个$timeout服务,它充当setTimeout的方便包装器
为什么setInterval没有等价物?因为$timeout是calls作用域。每次调用后应用可能会很昂贵。但是,创建一个简单的间隔,您可以决定需要哪些监视和应用调用来保持它的整洁
例如,如果您每分钟运行一次interval以检查用户的值是否已更改,并且如果自上次检查以来值已更改,则可以选择保存它。根据您编写代码的方式,您可能永远不需要更新网页,因此您的时间间隔可以在不触发更新的情况下完成
这并不能直接回答为什
标签: Angularjs
angularjs-directivetransclusion
我试图创建一组AngularJS指令,有条件地呈现块或内联页面内容的互斥段。例如,我设想了一种只渲染第n个子元素的机制:
<selector member="index">
<div>This div is visible when $scope.index equals 0</div>
<div>This div is visible when $scope.index equals 1</div>
<d
我正在寻找一种自动化表单验证的方法。
所以我想到了这个密码
<div id="error-container" data-ng-show="(addContestantFrm.$error.length > 0)">
<h6>Show errors</h6>
<ul>
<li data-ng-repeat="(key value) in addContestantFrm.$error">{{key}
标签: Angularjs
angularjs-serviceangularjs-controller
我有一个通过REST检索数据的服务。我想将结果数据存储在服务级别变量中,以便在多个控制器中使用。当我将所有REST逻辑直接放入控制器时,一切正常,但当我尝试将数据的检索/存储移动到服务中时,当数据返回时,控制器不会被更新。我尝试了许多不同的方法来维护服务和控制器之间的绑定
控制器:
myApp.controller('SiteConfigCtrl', ['$scope', '$rootScope', '$route', 'SiteConfigService',
function ($scope
我正在努力获得一个angularJS SPA设置与多个视图使用
当我在网上浏览教程和操作指南时,我看到了各种各样的依赖关系。ui-router-github页面上的示例使用了ui.router作为模块依赖项,而Ben Schwartz等其他文章则使用了ui.state
有什么区别?有人反对吗?ui.state是ui.router的子集吗?总之,ui.state用于v0.0.1,而ui.router用于v0.2.0(当前版本)
ui.state是用户在ui路由器的v0.0.1中作为依赖项注入的必要
标签: Angularjs
angular-cacheangular-local-storage
我有一个应用程序,当它启动时会得到一个管理员用户列表。
数据如下所示:
var users =
[
{"id":"527ddbd5-14d3-4fb9-a7ae-374e66f635d4","name":"x"},
{"id":"966171f8-4ea1-4008-b6ac-d70c4eee797b","name":"y"},
{"id":"de4e89fe-e1de-4751-9605-d6e1ec698f49","name":"z"}
]
我接到一个电话,得到了这些数据:
os.get
我做了角省道教程,我有一个问题
要声明可用于依赖注入的类型,我必须执行以下操作:
class MyAppModule extends Module {
MyAppModule() {
type(RecipeBookController);
}
}
对于所有类型,等等
在一个大型应用程序中,可以有数百个类型,所以声明所有类型是一种奇怪的方式
还有别的办法吗
谢谢。您可以使用反射来收集类型。如果您需要有关此方法的更多信息,请添加评论(我尽量避免在web应用程序中反映)
编辑
反射可
标签: Angularjs
angularjs-directiveangularjs-scope
我创建了一个dateRangePicker指令,我声明如下:
<date-range-picker start="schedule.start" end="schedule.end"></date-range-picker>
.directive("dateRangePicker", function () {
return {
restrict: 'E',
require: '^form',
当HTTP请求完成时,我尝试重定向到另一个带有我的应用程序参数的页面:
app.controller("startSess", function($scope, $http, $window, $state){
var self = this;
$scope.startNewSession = function(){
self.newSessionData = {"nick": thisScope.nic
假设我有一个元素,其中有几个指令。
例如:
<div myFirstDirective='someFn' mySecondDirective></div>
(myFirstDirective的优先级高于mySecondDirective)
因此,在本例中,如果myFirstDirective从函数返回一个假值,我甚至不希望mySecondDirective“运行”。
这可能吗
如果是,我将如何“取消”第二条指令
感谢您的帮助您可以在mySecondDirectiv
我正在尝试使用select2处理5000个数据集
交互很慢,尤其是搜索。在不久的将来,我需要处理>500000的数据集
有没有关于如何提高效率的建议
虽然我承认引导typeahead没有性能问题,但它的功能和显示元素较少。我也不知道typeahead的搜索功能是如何工作的
这里是plunker示例,与select2的演示相同,但包含5000行数据
{{$select.selected.name}
电子邮件:{{person.email}
年龄:
我也有同样的问题。Ui-select的性能非常
如果您能帮助我了解下面的代码,我将不胜感激。具体来说,Angular如何确定应该将资源请求的响应注入到authenticationResult
myApp.controller(...{
................
$scope.login = function() {
UserService.authenticate($.param({username: $scope.username, password: $scope.password}),
是否可以指定为$location.search以在url中使用斜杠发送参数
以下是我的状态:
.state('home/room', {
url: '/:home_id/:room_id',
templateUrl: 'home/layout.html'
});
使用链接,它可以完美地工作:
<a ui-sref="home/room({home_id:20, folder_id: 608})">
在Angular.js 1.3中,我可以使用以下工具进行一次性绑定:
{{::name}}
但是我如何在ng bind中使用它呢
与{语法相比,ngbind有一些性能改进
它受支持吗?是。它可以:
<span ng-bind="::name"></span>
我在google reCaptcha中遇到了一些问题
验证码很好,正常显示,但当我提交验证码时,当我向发送POST请求时,会出现连接问题
下面是错误日志:
XMLHttpRequest cannot load https://www.google.com/recaptcha/api/verify. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localh
我有一个计算函数,当调用该函数时,它将获取多个值,并使用它们用结果填充ng表。一切正常,只是表格应该分页,一次只显示10个值。而是一次显示所有值。在页面底部显示“下一步”和“上一步”按钮,用于在表格的值之间切换。下面是我正在使用的angularjs代码。我不确定问题出在哪里
$scope.tableParams = new ngTableParams({
page: 1, //show first page
count: 10 //con
我开始学习AngularJS$resource,并注意到$resource对象有一些方法(见下面的示例)附加到我从服务器下载的数据。如何删除这些方法并将对象转换为常规(数组)对象
例如,我试图使用$resource.save发送一个POST请求,其中包含一些键值数据,但数组中的这些“proto”项在传递到工厂中的$resource.param(data)时不知何故导致数据变得“未定义”。我可以轻松地使用$http做同样的事情,但我想学习$resource。谢谢
控制器内部
$scope.ok
当使用$mdToast.simple().content(“一些测试”)时,它以黑色显示土司。如何将该颜色更改为红色、黄色等,取决于错误消息的类型,如错误、警告和成功
类似的问题。您确实询问过如何使用简单的祝酒电话。您是否介意尝试一个定制的toast show并将类添加到模板中
JS
模板
<md-toast class="flash">
<span flex>Custom toast!</span>
<md-button ng-click="c
大家好
我想做一件非常简单的事情:显示最后10篇文章,最新的在顶部,当有人发布一篇新文章时,显示一个“单击此处查看x篇新文章”栏,单击该栏时会显示新文章
我的问题是:当一个新帖子进入Firebase时,它会立即显示在屏幕上(使用链接到Firebase数组的作用域数组上的ng repeat),并将10个元素中较早的元素取出
$firebase(ref.limitToLast(10)).$asArray().$loaded().then(function(messagesData) { ... }
标签: Angularjs
angular-ui-routersingle-page-applicationbrowser-history
我使用angular ui路由器,如下所示:
angular
.module('app', [
'ui.router'
])
.config(['$urlRouterProvider', '$stateProvider', function($urlRouterProvider, $stateProvider) {
$urlRouterProvider.otherwise('/');
$stateProvider
.state('start', {
我有一个angular应用程序,可以在除IE之外的所有浏览器上正常工作。特别是NGTAGS指令。我无法使用ENTER或逗号创建标记。控制台中没有bug,我不知道如何修复。这可能不是您想要的答案,但如果不是真的需要,请忽略IE,自从我上次开发以来已经2年了-有意识地支持IE。
我的大多数开发人员朋友也这么做
与IE兼容的成本(时间)/好处是不值得的 我希望我能。当我在本地IE中运行它时,它工作正常,但我认为客户运行的是“旧”IE 10-11。如果我有我的方式,我会做一个模态;这阻止了旧浏览器使用该
我正在生成自定义表单生成指令。是的,我知道已经有很多了,谢谢
使用指令中的ngModel,我循环遍历表单的JSON控件对象数组:
$scope.myForm.controls = [{label: "foo", controlType: "input"}, {label: "bar", controlType: "checkbox"}];
从那里开始,计划在每个表单控件的单独指令中编译$compile
以下是主要指
我试图用usemin模式更新js文件中的模板url,以防止版本更改时出现缓存错误
当我将filerev更改为following时,它会重命名所有模板,这正是我想要的
filerev: {
dist: {
src: [
'<%= yeoman.dist %>/scripts/**/*.js',
'<%= yeoman.dist %>/styles/**/*.css',
'<%=
我想使用angularjs和AngularMaterial内置指令验证表单,包括字段下的消息,如输入、选择、单选按钮。
有一些具体要求:
表单字段的高度应相等
单选按钮,即md单选按钮应该是内联的
字段下的消息位置应类似
角度材料选择,即md选择的宽度应为100%
我是根据上述要求创建的。我在这里发布这篇文章是为了帮助刚接触angularjs或AngularMaterial的人
<form name="myForm" ng-app="myApp" ng-controller="myCon
我有一个只有几个字段的表单,但是选择字段和输入字段是耦合的:输入的验证取决于用户在选择字段中选择的值
我将试着用一个例子来说明。假设select包含行星的名称:
<select id="planet" class="form-control" name="planet" ng-model="planet" ng-options="c.val as c.label for c in planets"></select>
完整示例可在Plnkr中检查:
无论何时修改sele
在Angular中使用“Controller as”语法的优点是什么?它只是为控制器创建别名,还是在幕后有其他技术原因
我是Angular的新手,想了解更多关于这个语法的知识 controllerAs-语法有多个优点:
Clartiy
考虑以下示例:
<div ng-controller="containerController">
<h2>Improve your life!</h2>
<p ng-controller="paragra
我从示例页面中获取所有内容。基本上并没有什么不同,控制器和html主体是来自accordion示例的纯复制粘贴
我什么都试过了
<!doctype html>
<html lang="en" ng-app="app">
<head>
<meta charset="utf-8">
<title>Test</title>
<!-- CSS files -->
<link rel="sty
我在应用程序中使用Angularjs datepicker。我想在UI中显示所选日期。它应该显示“所选日期:dd/MM/yyyy”,该日期工作正常。但是如果我选择今天的日期,它应该显示“今天:dd/MM/yyyy”。
但对于今天的日期,它也显示“选定日期:dd/MM/yyy”。谁能帮帮我吗。
我的html代码
<div ng-controller="DatepickerDemoCtrl">
Selected date is: {{dt | date:'dd/MM/yyyy' }}
&
如果我有这个html:
<ul>
<li ng-repeat="person in course.people">
<div>
<span bg-bind="schools[schools.currentSchool][person.id].gradeAverage"></span>
</div>
<div>
请查找单选按钮的名称。当我选择单选按钮时,我希望将$scope.itemList中的选定对象分配给selectedItemDetails,但它没有发生。默认情况下,当页面加载时,我希望根据var tagNumTobeSelectedByDefault=2选择默认单选按钮即默认选择的“Gety of House”,我如何操作
我从列表中获取要选择的对象的索引,如下所示:
var indexObjectTobeSet = $scope.itemList.map(function(x) {
r
我有一个ui路由器的问题,我不能完全把我的手指。我可以单击一个链接(在我的应用程序的登录页面上)并导航到第二个页面(用户可以注册的页面)。在第二页上有一个取消按钮,它可以简单地将用户导航回第一页。到目前为止一切都很好
如果我再次单击同一链接,用户似乎停留在同一页面(即登录页面),但我已将“状态更改”处理程序添加到我的应用程序(它只是将转换记录到控制台),可以看到实际发生的情况是,应用程序似乎转换到第二个页面,然后再次返回。除了演示流程之外,以下内容没有多大意义。在再次启动并转换回“authent
我有以下代码:
<md-button class="md-primary md-fab md-button">
<md-icon md-font-icon>
add
</md-icon>
</md-button>
添加
这是一个简单的smal按钮56x56像素和纹波不能正常工作。
然后我为这个按钮设置了超过202px的宽度和高度,ripple工作正常。
我做错了什么?你们有什么版本的材料设计?当我尝试它时,ripple似乎有效
我正在开发一个现有的Laravel4和AngularJS应用程序。布线完全是通过角度来完成的。如果用户在浏览器地址栏中键入不存在的路由,我将使用$routeProvider和重定向。这确实很有效。但是,当我键入类似“website.com/api/users”的内容时,角度重定向不起作用,我看到了站点的JSON响应。
我已经尝试添加一个Laravel过滤器,用于检查请求是否是ajax请求:
if(Request::ajax()){
return Redirect::to('/');
}
我很好奇如何使用Angular和JSON API最好地组织数据。我的项目的目标是获取第一个文件并将其推送到一个数组中,然后使用其中一个键值,它根据我发送回来的值请求第二个JSON文件。然后我可以基于这个最终返回在数组上重复(例如)
以下是我目前的代码:
app.factory('mtnFactory', ['$http', function($http){
return {
getMtns : function(){
return $http.ge
我遇到这样一种情况,我需要在输入字段上放置一个掩码,模式为“AAA999.AA999.AA.99”:字母数字。字母数字。字母数字。数字。
我试过ui.mask,但我不想要占位符,这个插件无法处理它
有人知道解决方案吗?您不能使用html5中的输入模式属性吗?然后按如下方式执行其验证
<form name='myform' novalidate='novalidate' ng-submit='subfunc()'>
<input pattern='0-9'>
我需要知道函数和不使用$scope定义的变量之间的区别(例如$scope.myfunction=function(){})
我需要知道,如果我在控制器中定义变量或函数而不将其作为$scope的属性,那么这些变量/方法的作用域是什么?它会得到$windows范围吗
如果我想在控制器中定义一些函数来组织代码,那么在没有$scope方法的情况下定义这些函数可以吗
最佳做法是什么?是的。一般来说,不要用视图中不需要的函数污染$scope javascript的函数范围同样适用。在这方面,angular本
这一定很容易,但我找不到如何使用Angular获取JSON数据?我尝试过很多组合…类似这样的组合:
var root = 'http://jsonplaceholder.typicode.com';
$http.get(root + '/posts/1')
.then(function(data) {
console.log(data);
});
如果你想要更具真实感的东西,你可以看看
或者另一个获得可观察的回报,而不是承诺。这个例子行不通。
请帮忙。。。我有一个对象数组,有一些属性和相应的值。示例:学生组的各种类型的分数。每个分数对象都有一个结果、测试名称(数学、英语、生物学等)和测试组名称(文学、科学等)。所有score_对象都放置在一个名为scoreArray的数组中
为了得到student1的第一个测试结果,我只给出数组的静态索引。e、 g.,scoreArray[0]。score_object.result。请让我知道如何通过数组循环并动态获得相应的结果
问题状态:每个学生的分数数组中可以有这么多的分数对象。这么多的测试类型
我从事angularjs项目。
该项目分为多个模块,每个模块都有自己的控制器和模板
我需要在不同模块的单个视图中显示两个模板,是否可以实现?是。这是完全有可能实现的
请看下面的教程
希望它能帮助你
干杯是的。。
可以在该html中为两个模板创建指令
实施步骤:
1.在路由文件中:
app.config(['$routeProvider',
function ($routeProvider) {
$routeProvider
.when('/', {
我的团队正在使用Angular 1.5.*+类型脚本进行项目
有人能给我一些建议,为我这样的项目提供最好的TSLint配置吗
现在,我想从正式的TS repo中添加TSLint config(),并设置ESlint规则
够了吗?你觉得怎么样
提前感谢您的回答
够了吗?你觉得怎么样
就我个人而言,我不会打开它,直到它成为一个问题。幸运的是,我有幸得到队友们的尊重和爱戴,让他们知道我是认真的
您可以选择该选项,也可以选择以下选项:
{
"extends": "tslint:recommended
当我向/me/posts发出GET请求以获取配置文件上的帖子并将限制设置为1000时,我最多只能获得275篇帖子。
我确信有1000多个帖子,而不仅仅是275个。
最高限额是275
PS:我正在使用Angular发出请求,并使用名为ng facebook的包来处理API请求在应用程序中使用分页,并在单个页面上显示少量类似10,50100的结果。使用以下链接进行相同的操作
检查api插件的工作原理,可能有限制功能,或者尝试直接使用facebook的graph api。我将限制设置为276,但仍然得
使用“window.location.href”而不是“$window.location.href”
只需删除$就可以了。请看一下它是如何工作的。。!你的问题是什么?你使用的是ngRoute还是uiRouter?
angular.module('myApp')
.controller('LoginCtrl', ['$scope', '$http', function($scope, $http) {
$scope.getlogin = function(
标签: Angularjs
integration-testingkarma-runnerkarma-jasmine
我正在使用Karma为AngularJS/CouchDB应用程序编写集成测试(而不是单元测试)。我意识到在单元测试中模拟数据库是很重要的。我故意不模仿数据库,因为这是一个集成测试。我确实希望与数据库交互。我也不想在这些集成测试中使用量角器。这些集成测试的动机是将不一定依赖UI的测试从量角器移开,以提高测试的总体速度
当我在量角器exec(“将数据加载到数据库中的我的命令”)中运行代码时,以下命令起作用。
在karmaexec()中不可用。您将如何在karma中运行shell命令?考虑到因果报应是
我在ng repeat中输入了一个值,该值来自数据库。我需要将对象中的输入发布到服务器,但其未定义。但是,当您触摸或更改输入值时,它工作正常。为什么只有在触摸或更改值时才会触发输入
html
提交
data.val在哪里填充?ng model=“data.val[$index]”不应该是这样吗?ng model=“val.ID”我的意思是,您指向的是另一个甚至不是array@AlekseySolovey抱歉,忘记包含从db获取的内容。@PanosK。当我触摸或更改输入值时,它会工作。但
我的UI网格未反映基于复选框的更改。
我的复选框是-->mainCtrl.check700(true或false)
UI网格不会根据复选框更改进行刷新。如何使UI网格根据复选框更改isrowselectable
mainCtrl.mainGrid.isRowSelectable = function (row) {
if (mainCtrl.check700){
if (row.entity.detailStatus === '700')
下面的代码是app.js
var app = angular.module('inkwiry', [
'ngSanitize',
'ui.select',
'ui.bootstrap',
'ngCookies',
'oc.lazyLoad',
'ngAnimate',
'ui.bootstrap-slider',
'duScroll',
'ui.router',
'ngResource',
'jQuerySc
我使用ng model options指令来确保在列表自身重新排序和包含输入的td隐藏之前,我可以完成一个值的输入
该值会反映在视图中,但是在我单击显示char.initiative数据的同级td之前,它不会反映在模型中
AngularJS文档建议我调用ngModel.NgModelController。它还建议引用控件的ngModel.NgModelController方法的最简单方法是确保将输入放置在具有name属性的表单元素中。问题是我没有使用表单元素
如何在不使用表单元素的情况下调用ng
我需要将AngularJS版本从1.6.10迁移到1.7.8。我想知道迁移后会不会有代码断裂
如果有人能提供1.6.x和1.7.x之间的差异列表,那将更有帮助。包含您要查找的信息。最显著的变化是:
$resource现在支持请求和请求错误拦截器
已删除几个不推荐使用的功能:
$controllerProvider.allowGlobals()标志
$compileProvider.preAssignBindingsEnabled()标志
angular.lowercase和angular.up
我有一个JSP页面,我想从中调用一个有角度的页面。
在JSP页面中,我使用带有URL重定向的IFRAME。
问题:从JSP页面向angular页面传递值的方法有哪些。
如果使用查询字符串,如何在JSP中构建查询字符串