问题标签 [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.
angularjs - AngularJS $scope 值没有更新
我有一个用户可以登录的应用程序。登录后,视图分为 2 - 信息栏和主要部分。主要部分通过 ng-view 更新。未登录时,使用 ng-show 将信息栏从视图中隐藏,然后在登录后显示。目前,未登录时它会根据需要隐藏,但登录时不会显示。如果您查看下面的控制器,我希望成功登录loginStatus.loggedIn
时等于用户名,因此真实,应该调用 ng-show。还是我弄错了?
代码简介:
索引.html
应用程序.js
控制器.js
编辑
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:寻找另一个问题来帮助解决
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/
angularjs - 我可以从指令内部观察控制器范围属性吗?
假设这个手表在一个指令中,是否可以像这样从主控制器观察一个变量?这是整个指令。当它看起来像这样时,手表确实会在第一页加载时触发,但之后再也不会触发。我没有将 questionNumber 传递给指令。这就是它不知道的原因吗?
})
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
javascript - 访问指令内的父作用域
我有这两个指令,一个相互嵌套:
这两个中的每一个都被定义为:
上面的很多代码可能没有多大意义,因为它是更大应用程序的一部分,但我希望它对我的问题有用。我要做的是envato
从指令更改指令的范围属性items
。因为我有一个迭代,我想知道它什么时候完成,所以我可以在那个迭代期间对附加的 DOM 元素执行另一个操作。
例如,假设我将scope.swipe
在指令中定义envato
,并观察它的变化。在指令items
中,我将观察何时ng-repeat
完成,然后更改上面定义的范围属性scope.swipe
。这将触发指令内部的变化envato
,现在我知道我可以做我的操作了。
我希望我足够清楚,如果不是,我可以尝试更多代码,或者我会尝试更具体。我怎样才能实现我刚才描述的?
编辑:我知道console.log(angular.element(element.parent()).scope());
在指令中使用 :items
会给我指令的范围envato
,但我想知道是否有更好的方法。
angularjs - 为什么我无法获取自定义指令的属性值?
angularjs代码:
你可以看到scope: { myId: '@' }
指令中有一个。
和html代码:
你可以看到我定义了一个my-id='123'
.
我希望该指令会发出警报123
,但它会发出警报undefined
。我的错误在哪里?
PS:这是一个现场演示:http ://plnkr.co/edit/sL69NqWC70Qfwav5feP2?p=preview
javascript - AngularJS 为所有条目切换 ngShow
对于每个“条目中的条目”,我都有一个将 ng-show 切换为 true 的按钮,并显示有关条目的详细信息。目前,此代码将每个条目切换为 ng-show=true。我希望每个按钮仅切换其所在条目的详细信息。
我的观点:
AngularJS:
angularjs - 用@定义的隔离范围属性在指令的链接函数中未定义/消失
该指令具有隔离范围,并且范围属性使用“@”传递。
这就是指令的调用方式:
这是指令的定义方式:
'使用严格';
当我检查范围对象时(单击console.log 的输出(firebug 中的范围_),看起来它的 iconImage、iconTooltip 和 iconRoute 属性设置正确。
然而 console.log(scope.iconImage)、console.log(scope.iconTooltip) 和 console.log(scope.iconRoute) 打印“未定义”