问题标签 [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 投票
0 回答
1405 浏览

angularjs - AngularJS $scope 值没有更新

我有一个用户可以登录的应用程序。登录后,视图分为 2 - 信息栏和主要部分。主要部分通过 ng-view 更新。未登录时,使用 ng-show 将信息栏从视图中隐藏,然后在登录后显示。目前,未登录时它会根据需要隐藏,但登录时不会显示。如果您查看下面的控制器,我希望成功登录loginStatus.loggedIn时等于用户名,因此真实,应该调用 ng-show。还是我弄错了?

代码简介:

索引.html

应用程序.js

控制器.js

编辑

这是Plunker

0 投票
1 回答
1456 浏览

angularjs - Angularjs 指令-指令-控制器-服务交互

标题有点拗口但是有我现在的情况:

我有一个指令 (D1),它是我在根目录中的模态弹出窗口的普通标记。我有一个指令 (D2) 在控制器的范围 (C1) 中。我想让 D2 设置模态 D1 内的内容。我有一个服务(S1),它被注入到 C1 中,它从网络中提取我想最终注入到 D1 中的数据。

D1 如下(模态的普通标记): 在此处输入图像描述

在 C1 中的 S1 将数据返回给 D2 以填充 D1 后,D1 将如下所示。D2 将负责在 D1 中定义模型数据,例如 {{title}}。 在此处输入图像描述

这个想法是有一个通用的解耦模式(D1),可以通过另一个指令(D2)定义/填充。

我很难实现这个功能。加分项,我希望 D1 有一个 API,我可以调用它来使用复选框、输入、文本等不同元素填充模式。这与仅在 D1 之外构建标记然后将其完全注入 D1 不同。

基本代码如下:

HTML 标记

感谢您关注这么远!

TL;DR:寻找另一个问题来帮助解决

0 投票
1 回答
1748 浏览

javascript - ng-repeat in a directive does not update if the data changes

I have this problem on a larger project and I made the most simplistic example.

I have a controller that has some data in it. This data is fed into the directive and should be displayed using the native ng-repeat. However, when the directive-controller runs, it has not yet parsed the angular variable, thus not rendering the repeat.

How do I make it work so that the repeat works with that outside variable that needs pre-parsing?

Here is a fiddle. Make sure you have the console open as it shows there that it is undefined when the function runs, but defined 1 second later: http://jsfiddle.net/paulocoelho/xqLAs/2/

Here my JS:

Here is my dom

EDIT: There is was an error on my previous code where inputdata should read sl.

解决方案的小提琴在这里:http: //jsfiddle.net/paulocoelho/xqLAs/3/

0 投票
3 回答
8861 浏览

angularjs - 我可以从指令内部观察控制器范围属性吗?

假设这个手表在一个指令中,是否可以像这样从主控制器观察一个变量?这是整个指令。当它看起来像这样时,手表确实会在第一页加载时触发,但之后再也不会触发。我没有将 questionNumber 传递给指令。这就是它不知道的原因吗?

})

0 投票
1 回答
2026 浏览

javascript - 加载数据时,Angular 的 Resource Promise 不会重新渲染

我是 AngularJS 的新手,在加载数据时无法获得资源承诺重新渲染视图。这导致 {{}} 被替换为空白(来自承诺),但视图保持不变。

我已经看到了很多使用 $apply、$digest、$watch 等解决 promise 的问题的例子,并且对这些建议持开放态度,我很想知道我的方法的根本问题。这是我的控制器代码

我加载的脚本是

//ajax.googleapis.com/ajax/libs/angularjs/1.0.5/angular.min.js' //ajax.googleapis.com/ajax/libs/angularjs/1.0.5/angular-resource.min.js'

我想要的承诺行为的描述在这里 http://docs.angularjs.org/api/ngResource .$resource

0 投票
5 回答
5303 浏览

javascript - 访问指令内的父作用域

我有这两个指令,一个相互嵌套:

这两个中的每一个都被定义为:

上面的很多代码可能没有多大意义,因为它是更大应用程序的一部分,但我希望它对我的问题有用。我要做的是envato从指令更改指令的范围属性items。因为我有一个迭代,我想知道它什么时候完成,所以我可以在那个迭代期间对附加的 DOM 元素执行另一个操作。

例如,假设我将scope.swipe在指令中定义envato,并观察它的变化。在指令items中,我将观察何时ng-repeat完成,然后更改上面定义的范围属性scope.swipe。这将触发指令内部的变化envato,现在我知道我可以做我的操作了。

我希望我足够清楚,如果不是,我可以尝试更多代码,或者我会尝试更具体。我怎样才能实现我刚才描述的?

编辑:我知道console.log(angular.element(element.parent()).scope());在指令中使用 :items会给我指令的范围envato,但我想知道是否有更好的方法。

0 投票
1 回答
934 浏览

javascript - 指令回调和范围

我正试图围绕 angularjs 中的范围进行思考,特别是在使用指令的模块上调用回调时。我找到了 3 种不同的方法来完成同一件事,并且我试图了解每种方法的优缺点。

鉴于此 plnkr

什么时候适合直接在父对象上使用、或调用函数&=

我更喜欢使用 '=' 符号绑定,因为指令和托管指令的模块中所需的代码更少,但根据文档(了解 Transclusion 和 Scopes),似乎使用 绑定到回调&是首选方法, 为什么?

0 投票
1 回答
18049 浏览

angularjs - 为什么我无法获取自定义指令的属性值?

angularjs代码:

你可以看到scope: { myId: '@' }指令中有一个。

和html代码:

你可以看到我定义了一个my-id='123'.

我希望该指令会发出警报123,但它会发出警报undefined。我的错误在哪里?

PS:这是一个现场演示:http ://plnkr.co/edit/sL69NqWC70Qfwav5feP2?p=preview

0 投票
2 回答
4099 浏览

javascript - AngularJS 为所有条目切换 ngShow

对于每个“条目中的条目”,我都有一个将 ng-show 切换为 true 的按钮,并显示有关条目的详细信息。目前,此代码将每个条目切换为 ng-show=true。我希望每个按钮仅切换其所在条目的详细信息。

我的观点:

AngularJS:

0 投票
1 回答
3294 浏览

angularjs - 用@定义的隔离范围属性在指令的链接函数中未定义/消失

该指令具有隔离范围,并且范围属性使用“@”传递。

这就是指令的调用方式:

这是指令的定义方式:

'使用严格';

当我检查范围对象时(单击console.log 的输出(firebug 中的范围_),看起来它的 iconImage、iconTooltip 和 iconRoute 属性设置正确。

然而 console.log(scope.iconImage)、console.log(scope.iconTooltip) 和 console.log(scope.iconRoute) 打印“未定义”