草庐IT

angularjs-ng-model

全部标签

javascript - 将内容添加到列表时保持滚动位置 (AngularJS)

我一直在尝试使用ng-repeat将一些项目添加到可滚动容器内的列表中,最近的项目应该位于列表的顶部。如果在前置内容时容器的滚动条不在最顶部,我还需要保持滚动位置。这是我的解决方案,但我仍然遇到问题。Angular在dom中渲染前置项目后总是闪烁。varmyApp=angular.module('myApp',[]);myApp.controller('MainCtrl',function($scope,$interval,$timeout){$scope.items=[];$interval(function(){varitem={id:Math.random(),text:(new

javascript - ng-if indexOf 与 JSON 数组

我有一个items的JSON输出-要显示单个项目,我使用ng-repeat="iteminitems"。我可以使用user访问当前登录的用户对象每个项目可以属于多个用户的愿望list。如果用户将一个项目添加到他的愿望list中,user_id将保存在item.wishlists中单个item的JSON输出看起来像这样简化了:{"id":1,"title":"Thisisatile","wishlists":[{"user_id":2},{"user_id":3}]}当我执行user.id时,我得到了当前登录用户的ID。现在我想在ng-repeat="iteminitems"中使用ng-

javascript - 为什么我们在 AngularJS 中对 ng-src 使用双大括号?

我对AngularJS表达式感到困惑。来自w3schools.com,我了解到AngularJS表达式可以写在双括号内:{{expression}}。AngularJS表达式也可以写在一个指令中:ng-bind="expression".但为什么我们使用ng-src={{...}}而不是ng-src="..."?ng-src是处理AngularJS表达式的特例吗? 最佳答案 是的,这是ng-src的特例,因为它正在等待template参数,这是一个string任何类型的内部插值({{}}),如docs中所述.这取决于指令本身如何指定

javascript - 在嵌套的 ng-repeat 中使用带有单选按钮的 ng-model 不起作用

嘿,我正在尝试在ng-repeat中显示单选按钮列表,但它似乎没有接受我在输入中绑定(bind)到ng-model的字段的初始值。当我为ng-repeat提供一个简单的数组时,按钮会正确显示初始值。但是如果出现嵌套的ng-repeat,则只有每个列表的最后一项用一个值初始化这是我的笔:https://codepen.io/alokraop/pen/JXLZBp我不知道我哪里出错了。我确保单选按钮的name属性对于每个组都是唯一的。感谢您的帮助。 最佳答案 这里的问题是您不能将Angular值插入到属性name中。如果我们从HTML中

javascript - ng-repeat 是否支持自身递归?

假设我有这样一个json:{“数据”:{“数据”:{“数据”:{“设置”:“1”}}}}我想使用ng-repeat循环遍历这个json,但是我想动态循环它,我不知道我会有多少数据对象,有时可能是3,有时可能是5,6,7等我如何使用ng-repeat遍历它,而不必像有数据对象那样多次编写ng-repeat。在javascript中我会这样写:函数循环(数据){如果(数据。数据){循环(数据。数据)}} 最佳答案 使用你将要使用的相同函数并从ng-repeat中调用它{{getValue(v)}}Controller中的函数如下:$sc

javascript - 通过渲染函数实现的 v-model 不是响应式(Reactive)的

我正在尝试创建可在输入和文本区域标签之间互换的动态输入组件。我试图通过使用渲染功能来实现这一点。(https://v2.vuejs.org/v2/guide/render-function.html#v-model)。我遇到的问题是v-model只能以一种方式工作,如果我直接更改数据属性,它会更新textarea值,但如果我更改或将新数据输入到textarea中,它不会更新数据属性。有谁知道如何使它双向工作?下面是我的代码笔代码链接,它说明了问题:consttag=Vue.component('dynamic-tag',{name:'dynamic-tag',render(create

javascript - vue 在 v-model 之后执行@click

我有一个状态基于todo.complete的复选框todo.save()将当前的完整值保存到数据库中。但是@click似乎在v-model绑定(bind)更新todo.complete之前被触发我必须这样做才能让它工作:有什么方法可以在v-model更新后执行todo.save()。类似于@click.after 最佳答案 尝试使用change事件代替: 关于javascript-vue在v-model之后执行@click,我们在StackOverflow上找到一个类似的问题:

javascript - Ng 日期时间选择器的值更改不起作用

没有任何事件不适用于ng-pick-datetime{{attribute.attribute.displayName}}:我还导入了所需的模块:import{OwlDateTimeModule,OwlNativeDateTimeModule}from'ng-pick-datetime';https://www.npmjs.com/package/ng-pick-datetime我对其他事件有同样的错误:afterPickerOpen,yearSelected,monthSelected,dateTimeChange 最佳答案 da

javascript - AngularJS - 使用子路由进行模板化

我是Angular.js的新手,我似乎不知道如何解决我的问题。该应用由三个主要选项卡组成,它们也是顶级路由,即。#/home#/inbox#/products当前的路由配置看起来像这样(coffeescript):$routeProvider.when('/home',templateUrl:'home.html').when('/inbox',templateUrl:'inbox.html').when('/inbox/:thread_id',templateUrl:'inbox.html',controller:'MessagesCtrl').otherwise(redirectT

javascript - 在 AngularJS 中提交后重置表单

在AngularJS(v1.1.3)中提交后,我无法重置表单字段。这是我正在尝试做的事情的片段:HTMLJS$scope.createMember=function(member){varmembersService=newMembers(member);membersService.$create(function(member){$scope.members.push(member);$scope.addMemberForm.reset();//TypeError:Object#hasnomethod'reset'});};还有其他方法可以重置表单元素吗?