问题标签 [angularjs-bindings]

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 投票
2 回答
27 浏览

angularjs - angularjs绑定到属性

我正在尝试动态地将指令加载到另一个指令中,因此我尝试将其ng-repeat用于以下内容,{{item.directiveName}}内部指令名称在哪里。

问题是{{item.directiveName}}没有评估,它保持原样。我认为因为它不是属性的值,所以它是属性。

有没有办法评估这个表达式,或者 angularjs 不支持这个?

0 投票
1 回答
536 浏览

javascript - 自定义指令中的 ng-table 错误“无法设置属性 '$data' of null”

这是我的问题:

我正在尝试以角度构建一个指令,该指令将使用ng-table内部。问题是输入参数tableData最初被初始化为一个空数组,因为它是在用户单击按钮时从指令外部设置的。

所以我在表上添加了一个手表,并在更改tableData时尝试重新加载表。tableData

但是differ.resolve 函数最终会出现以下异常。

请帮忙

指令用法

这是我的温度

TableMultiselect.tmpl.cshtml

控制器

错误

0 投票
1 回答
741 浏览

javascript - AngularJS:将服务值绑定到指令

我对 AngularJS 有点陌生,我尝试制定自己的指令。

我的目标是创建一个“时钟”指令,从一般服务中获取他的数据。问题是我没有成功将当前时间的值从服务绑定到指令(实际上是视图)。第一个值(“正在加载”)保留在屏幕上,而不是更新为新值(时间)。这是我的代码:

Javascript:

HTML:

顺便说一句,我想这不是实现这个想法的最佳方式,所以如果有更好的建议也可以解决我的问题,我也很乐意听到它。

谢谢!

0 投票
1 回答
430 浏览

javascript - AngularJS controllerAs:更新 $interval 中的控制器字段不会更新 ng-show

我正在使用 controllerAs 语法,并且由于某种原因,在 $interval 中更新控制器的字段时,它不会正确显示/隐藏视图中的元素。我使用 Angular 的 UI 路由器。

这个问题最好用我认为的代码来描述,所以请原谅代码转储。

我的状态(“refreshLogs”只是一个调用 logService 以获取更新日志的函数):

我的控制器:

最后是视图:

它会在 DOM 更新中显示“ng-show”值,但不会根据该值显示/隐藏元素。我在 Chrome 中检查了 DOM,我看到了这一点(添加星号以强调):

一开始是正确的,并且显示了正确的 div。几秒钟后,日志被刷新,“vm.log”变量被设置为一个非空值(我知道这是因为我在分配这个值的 JS 代码中设置了一个断点,它看起来是正确的)。之后,我再次检查 DOM 并看到:

注意显示正确值的“ng-show”属性。因此,表达式显然已被重新评估。但是,旧的“等待日志...”标题仍然显示,并且第一个 div 没有显示(并且它仍然应用了“ng-hide”css 类)。

我在这里想念什么?

0 投票
1 回答
297 浏览

html - Angularjs ng-bind-html 调整按钮大小以适应内容大小?

给定带有一些 FontAwesome 图标的文本列表,我的控制器需要将其传递给模板,并将每个文本呈现为按钮。

示例文本:

我的代码:

但是它不会按预期工作。

  • [[text]]将转义任何 html
  • ng-bind-html插入文本后将无法调整按钮大小

这里还能做什么?

0 投票
1 回答
508 浏览

angularjs - Angular 指令未检测到父控制器属性的变化

我有一个使用“控制器作为”方法的 HTML 文件。它有一个复杂的属性类型(一个对象数组),我想通过 Angular 指令向用户展示它,以便我也可以在其他页面上使用它。我的指令还使用“控制器作为”方法。

当主控制器的 documentReferenceStructure 属性更新时,网页在“Length”之后的 HTML 中显示正确的数组长度,但指令没有更新,仍然显示“Hello 0”。如果在指令中添加一个按钮,以便我可以检查其 documentReferenceStructure 属性的值,它似乎永远不会更新。

更新页面控制器的 documentReferenceStructure 属性不会向下传播到指令中,这不是 scope: { documentReferenceStructure : "=" } 应该做的吗?

我错过了什么?链接()中的东西也许?

0 投票
2 回答
44 浏览

angularjs - 显示后更新数据

在我的 Angular 应用程序中,我有一个消息数组,每个消息都有一个页面数组,应该在这些页面上显示它:

这是在应用程序加载时从服务器获取的,然后与来自服务器的推送事件保持同步。在页面之间导航时不会重新加载。

我有一个指令来显示这些消息,它采用数组和页面 ID,并且只显示当前页面尚未查看的消息。到目前为止,一切都很好。

现在我想设置viewedtrue一旦消息显示一次。如果我一显示就这样做,那么数据绑定将立即将其从视图中删除。如果我在范围内$destroy这样做,只要用户导航到另一个角度页面,它就可以工作。如果用户刷新或关闭选项卡,或导航到外部 URL,则viewed保持false. 我不能使用onbeforeunload,因为我需要执行 AJAX 请求来更新服务器上的消息。而且我不想使用一次绑定,因为这会阻止显示任何新消息。

在显示后更新属性似乎是一个相当合理的要求,但我对如何实现它的想法感到困惑。有什么建议么?

0 投票
3 回答
1037 浏览

angular - Angular2 装饰器,用于 2 路属性绑定

来自 Victor Savkin 关于Angular2 模板语法的帖子,展示了如何使用输入和输出属性绑定 -

输入属性用@Input() 修饰,而输出属性用@Output() 修饰。我应该如何声明一个将具有 2 路属性绑定的属性?示例:假设 rootpanel 组件具有 'suggestions' 属性(字符串类型)并且 searchPanel 具有 'getSuggestions 属性。现在我希望这两个属性以两种方式相互绑定。我试过 -

根面板.html:

但是我在 searchPanel 组件中声明 getSuggestions 属性时被卡住了。getSuggestions 属性的类型应该是什么string or EventEmitter<string>

请建议。

0 投票
2 回答
138 浏览

angularjs - Angularjs不更新变量

我想直接显示/更新计算答案,而不需要额外的按钮。还是我需要一个功能和按钮来应用更改?

控制器:

0 投票
1 回答
3572 浏览

angularjs - ng-non-bindable 仅适用于元素的内容

在我们的 Angular 应用程序中,我们有一个在服务器端填充用户内容的链接。所以我们需要告诉 Angular 不要解释那个链接内容。否则,如果用户或攻击者将 Angular 绑定表达式放在那里(比如 {{User.Password}}),那么 Angular 会评估它,从而打开一个安全漏洞——一种 XSS 攻击。

ng-non-bindable主要是这样做的。但是,我们也希望链接本身由 Angular 操作。

@site.value.Name 是插入内容的服务器端代码。

如果我们将 ng-non-bindable 放在 a 元素上,那么 ng-class 将不起作用。我能看到的唯一解决方案是在其中插入另一个 span/div 并将 ng-non-bindable 应用于:

这看起来很笨拙,必须修改 HTML 结构才能阻止 Angular 干扰服务器端数据。

有没有更清洁的解决方案?

理想情况下,我希望 ng-non-bindable (或变体)表示“不绑定内容,但将此元素视为正常”。