问题标签 [angularjs-scope]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1482 浏览

javascript - 对象在角度模板重新编译时消失

看看这个小提琴:http: //jsfiddle.net/z9XK3/6/

尝试点击“克隆我克隆我链接”

请注意,在原始模板中,<span>100</span>因为它是一个对象而消失了,而“字符串”字符串仍然会出现。

为什么会这样?而且,我怎样才能防止这种情况,一旦我点击“克隆我克隆我”链接,原来的<span>100</span>就不会消失?

(Note: this is a simplification of a real problem that I'm facing. In this case I can solve this by wrapping <div ng-controller="Ctrl"></div> around the newTemplate variable. However in the real problem I'm facing adding the ng-controller div will not solve the problem so please provide me with some new insights)

0 投票
0 回答
507 浏览

javascript - 从父级双向派生而没有副本的复制角度范围变量也是双向的

假设我有这个:

基本上,目标是拥有一个新的、隔离的 scope.parentScopeObj,如果您在指令的 scope.parentScopeObj 中修改内容并执行 $apply(),则修改不会传播到父范围的 parentScopeObj 变量。

我试过了。

  1. 只是一个简单的 scope.parentScopeObj = scope.someObj; 然而,如上所述,修改指令的 scope.parentScopeObj 仍将相应地传播到父范围的 parentScopeObj
  2. scope.parentScopeObj = angular.copy(scope.someObj); 然而,这导致我的浏览器在我使用的实际场景中崩溃,所以这是不行的
  3. scope.parentScopeObj = $.extend(true, {}, scope.someObj); 但是,修改指令的 scope.parentScopeObj 仍会相应地传播到父范围的 parentScopeObj

那么我如何才能对 scope.someObj 变量(与父级双向)进行深层复制,而无需与父级进行双向深层复制?angular.copy 是不行的,因为它始终使浏览器崩溃

0 投票
1 回答
2673 浏览

angularjs - 可以子范围 $apply 本身而不应用父

一个孩子$scope(无论是否孤立)是否可以在$scope.$apply没有应用父范围的情况下这样做?

在父作用域中有一些昂贵的计算(很难缓存),我不需要角度来重新运行计算。

例如:

指令:

0 投票
2 回答
11573 浏览

angularjs - 如何推迟视图渲染,直到从外部源加载某些数据?

$rootScope我的应用程序在初始化时需要从外部源加载一些数据。由于数据来自外部来源,因此无法保证加载数据所需的时间。我想推迟视图的渲染,直到数据加载成功。有没有办法做到这一点?

请注意,我没有为此应用程序使用 Angular 路由。

这是一个简化的演示

0 投票
2 回答
5356 浏览

javascript - AngularJS 通过 $compile 获取动态内容的范围未附加到控制器范围

当我通过具有指令的字符串生成一个新元素(这就是我需要编译的原因)并且该指令通过“=”生成与控制器范围内的变量的关联时,我的控制器中的变量与指令中的一项。

我创建了一个 jsfiddle 来展示“门”ng-model 值应该与所有指令模型值相关联的示例。

看到这个小提琴:http: //jsfiddle.net/aVJqU/2/

我注意到的另一件事是,从 html 中存在的元素运行的指令通过变量(控制器和指令)显示了正确的关联。

html(有绑定的指令<door>):

这是指令:

这是控制器:

最后,这是编译具有未绑定指令的字符串的指令:

我该怎么做才能将所有“门” ng-model 值绑定在一起?编译后的指令绑定到哪里?

0 投票
1 回答
772 浏览

angularjs - AngularJS - 在子指令中包含和访问 ng-repeat 过滤列表,

我想平铺进入的元素(根据过滤列表ng-repeat设置它们)css

理想情况下,我想像这样使用 html 标记:

  1. 我是否可以访问正在传递给的列表ng-repeat?(AngularJS 以外的任何其他方式- 如何获取 ngRepeat 过滤结果参考
  2. 我可以以某种方式transclude处理这些项目,因此该tile指令实际上会应用 css(我想抽象ng-style="{top:getTop(item),left:getLeft(item)}"等)
0 投票
1 回答
1144 浏览

javascript - Angular.js 过滤器和函数作用域每秒都在变化

问题。我有一个条目表($scope.entries),每行(ng-repeat)有 5 列,其中 2 列有针对各种转换的定制过滤器。

现在在同一个范围内,我有 active_entry( $scope.active_entry),它每秒钟都在变化,因为它以及 angular 的工作原理(我猜),整个范围都在不断检查,我的过滤器也被执行。

这导致Batarang 中的Watch Expressions随着时间的推移而高涨。

如何使用为 active_entry 创建某种隔离范围,这样我的过滤器就不会每秒一遍又一遍地渲染?

制定指令是创建隔离范围的唯一方法吗?它会起作用吗?如果我稍后在控制器中需要来自隔离范围的值怎么办?

0 投票
1 回答
959 浏览

angularjs - 替换Angular中的子节点

我正在处理一棵数据树。从任何给定节点,我可能需要添加一个从 RESTful 服务器返回的子节点。数据开始看起来像这样……</p>

然后我写了一个“id:1”的帖子,它返回……</p>

…这是请求节点的完全替代品。我让 Angular 正确布置模型,接受数据更改,将这些更改发布到服务器,并接受最后一个 JSON blob。惊人的。但我不确定如何用新数据更新 $scope。我的视图看起来像这样……</p>

和控制器……</p>

有什么想法吗?在此先感谢,Angular 文档是……想要……但我发现用户群非常有帮助。

0 投票
2 回答
16269 浏览

angularjs - AngularJS: Access formController of a form placed inside transcluded directive from parent controller

I've created a simple "modal dialog" directive, which uses transclude. I would like to place a form () inside the "modal dialog" directive. I would expect that formController of a form placed inside the directive, is going to be accessible in parent controller's scope, however it isn't. Take a look at the following fiddle, please: http://jsfiddle.net/milmly/f2WMT/1/

Complete code:

So my question is how to access or is it possible to access directive's formController from parent controller?

Thank you for answers.

-Milan

0 投票
3 回答
11088 浏览

angularjs - Angular - 在 ngInclude 中调用时 ngModel 不更新

首先,plunker:http ://plnkr.co/edit/v1uTz5

这是我遇到的问题的工作演示。

我必须ng-include包括一个部分。

在部分内部,我有一个带有ngModelAND 指令的文本输入。

模型在包含内相应地更新,但包含外的任何交互都将被忽略。包含的{{test}}外部不会更新,但{{test}}内部会更新。

该指令在调用时处理enter键并调用正确的范围和函数。但是,该$scope.test变量从未被更新,而是$scope.testFinal被更新并且ng-include模板适当地呈现它。尝试重置$scope.test模型也不起作用。

我在这里错过了什么吗?或者这是指令或ng-include?