我想根据角度控制器中函数的返回值设置div的位置
以下在FireFox和chrome中工作正常但在Internet Explorer中{{position($index)}}%被解释为文字字符串值,因此无效
<div ng-repeat="item in items" style="left:{{position($index)}}%"></div>
Run Code Online (Sandbox Code Playgroud)
以下是此问题的示例:
var app = angular.module('app', []);
app.controller('controller', function($scope) {
$scope.items=[1,2,3,4,5,6,7,8,9,10];
$scope.position=function(i){
var percent =[5,10,15,20,25,30,35,40,45,50,55,60,65,70];
return percent[i+1];
}
});
Run Code Online (Sandbox Code Playgroud)
这是一个小提琴演示
有没有人有关于如何纠正的建议?
html internet-explorer inline-styles angularjs angularjs-ng-repeat
我正在重写一个从silver-light到angularjs的大型应用程序,同时这样做,我意识到我的每个控制器js文件都跨越2000-3000行代码.我的所有代码都严重依赖于范围变量.想知道是否有机会将单个控制器js文件拆分成多个js文件?任何指针都会受到赞赏.
如果我有一个视图:
<div ng-repeat="foo in foos">
<p ng-if="bar">omg lol</p>
<p ng-if="!bar">lol omg</p>
</div>
Run Code Online (Sandbox Code Playgroud)
我实际上创造了(2*foos.length)+ 1 $$观察者,这真的不太好.我在网上找到了几个说你可以做ng-if =":: bar"的消息来源,但是当我这样做时,观察者的数量并没有改变.有没有办法强制ng-if是一次性绑定?
这真的非常愚蠢:
<div ng-repeat="foo in foos" ng-if="bar">
<p>omg lol</p>
</div>
<div ng-repeat="foo in foos" ng-if="!bar">
<p>lol omg</p>
</div>
Run Code Online (Sandbox Code Playgroud)
我相信这会给我一些像4个观察者的东西......所以我正在寻找另一种选择,以避免像那样愚蠢.
我有一个包含3个复选框的表单:" 全选 "," 选项1 "和" 选项2 ".
<form id="selectionForm">
<input type="checkbox" ng-model="selectAll" >Select all
<br>
<input type="checkbox" ng-checked="selectAll" checked>Option 1
<br>
<input type="checkbox" ng-checked="selectAll">Option 2
</form>
Run Code Online (Sandbox Code Playgroud)
在初始页面加载我想只 选择1进行检查.然后,如果选中全选复选框,它应自动检查选项1和选项2,以便选择所有选项.
问题是在初始页面加载时,ng-checked ="selectAll"被评估,这会覆盖我最初只检查选项1的尝试(selectAll = false最初),因此没有选择任何内容.
这似乎是一个简单的问题需要解决,但我无法找到解决方案......提前感谢任何见解或建议!
我差不多两天都在为此而战.我希望你们能帮助我.
简介:
我在以编程方式设置某些输入字段的视图值时遇到问题.
我有一个带有输入的表单,其值在表单被删除之前保存(多个元素和多个表单可能,用户可能会关闭表单,然后重新打开).在重新打开表单时,我想恢复以前的视图值(主要原因是还要返回未保存在模型中的无效视图值).这不起作用.
如果我调用ctrl.$ setViewValue(previousValue)我得到模型(可见)更新(如果有效),formControl的视图值(在控制台中调试时)也会改变,但是我没有实际渲染它们输入字段.我不明白为什么:(
我把问题简化为这个小提琴:http:
//jsfiddle.net/g0mjk750/1/
JavaScript的
var app = angular.module('App', [])
function Controller($scope) {
$scope.form = {
userContent: 'initial content'
}
}
app.controller('Controller', Controller);
app.directive('resetOnBlur', function () {
return {
restrict: 'A',
require: 'ngModel',
link: function (scope, element, attrs, ngModel) {
element.bind('blur', function () {
console.log(ngModel);
scope.$apply(setAnotherValue);
});
function setAnotherValue() {
ngModel.$setViewValue("I'm a new value of the model. I've been set using the setViewValue method");
}
}
};
});
Run Code Online (Sandbox Code Playgroud)
HTML
<form name="myForm" ng-app="App" ng-controller="Controller" class="form"> …Run Code Online (Sandbox Code Playgroud) 以下代码(请参阅此处的小提琴)抛出问题标题中引用的堆栈溢出.我试图让一个盒子阴影在脉冲效果中显示在圆形图像周围.有谁可以指出递归,拜托?我是一个Javascript新手,无法看到它.谢谢.
HTML
<div id="pulseDiv">
<a href="#" id="advisers-css-image">
<div id="advisersDiv"><img src="http://ubuntuone.com/1djVfYlV62ORxB8gSSA4R4"></div>
</a>
</div>
Run Code Online (Sandbox Code Playgroud)
CSS
.pulse { box-shadow: 0px 0px 4px 4px #AEA79F; }
Run Code Online (Sandbox Code Playgroud)
使用Javascript
function fadeIn() {
$('#pulseDiv').find('div.advisersDiv').delay(400).addClass("pulse");
fadeOut();
};
function fadeOut() {
$('#pulseDiv').find('div.advisersDiv').delay(400).removeClass("pulse");
fadeIn();
};
Run Code Online (Sandbox Code Playgroud) 我试图仅在成功验证时提交表单.验证适用于所需但不适用于ng-minlength
表单输入无效但表单仍在提交.
<form name="myForm" ng-submit="count = count + 1" ng-init="count=0" ng-app>
<div class="control-group" ng-class="{error: myForm.mobile.$invalid}">
<label class="control-label" for="mobile">Mobile</label>
<div class="controls">
<input type="text" name="mobile" placeholder="07XXXXXXXXX" ng-model="mobile" ng-minlength="11" required />
<span ng-show="myForm.mobile.$error.required" class="help-inline">Required</span>
<span ng-show="myForm.mobile.$error.minlength" class="help-inline">Mobile number should be minimum 11 character starting from 07</span>
</div>
</div>
<div class="control-group">
<div class="controls">
<input class="btn" type="submit" value ="submit" />
</div>
count: {{count}}<br />
<tt>myForm.$invalid = {{myForm.$invalid}}</tt><br/>
</div>
</form>
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么.
我不想使用提交按钮禁用方法.
我的ngModel在选择未显示为已选中时出现问题.id和name都匹配但不起作用,请参阅selectedState.将模型指向options数组中的实际对象,请参阅selelectedState2.不知道发生了什么......
小提琴:http: //jsfiddle.net/fedorsmirnoff/b49n4Ldp/2/
<select ng-model="selectedState" ng-options="state.name for state in stateOptions"></select>
<select ng-model="selectedState2" ng-options="state.name for state in stateOptions"></select>
function MainCtrl($scope) {
$scope.stateOptions = [
{id: 1, name: "Alaska"},
{id: 2, name: "Montana"},
{id: 3, name: "Nebraska"},
{id: 4, name: "Texas"}
]
$scope.selectedState = {id: 2, name: "Montana"};
$scope.selectedState2 = $scope.stateOptions[1];
}
Run Code Online (Sandbox Code Playgroud) javascript angularjs angularjs-ng-options angularjs-ng-model
我有一个列表如下:
<ul id="menu">
<li><a href="#">Home</a></li>
<li><a href="#">Work</a>
<ul>
<li><a href="#">CSS Development</a></li>
<li><a href="#">Graphic Design</a></li>
<li><a href="#">Development Tools</a></li>
<li><a href="#">Web Design</a></li>
</ul>
</li>
<li><a href="#">About</a></li>
<li><a href="#">Contact Us</a></li>
<li><a href="#">Feedback</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)
我附上了迄今为止所做的事情.
在此菜单中,我想将反馈与右侧对齐.任何人都可以告诉你该怎么做?
我有以下链接.
<a ui-sref="...">Clicking this adds ?test=true to the query params.</a>
Run Code Online (Sandbox Code Playgroud)
有没有办法使用ui-sref属性来更改查询参数而无需重新加载页面或指向另一个函数?