加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

在Angular中使用javascript – ng-click vs watch

发布时间:2020-12-17 17:44:46 所属栏目:安全 来源:网络整理
导读:我有一个指令,它加载一个 JSON文件,然后使用该数据创建一个 HTML5画布图(即json数据保存文本,颜色,位置等内容).我还有许多输入字段(文本,滑块等),允许用户操作绘图.我看到我可以$观察每个元素或使用ng-click并调用函数 – 是否有推荐的方法? 一些可能相关的
我有一个指令,它加载一个 JSON文件,然后使用该数据创建一个 HTML5画布图(即json数据保存文本,颜色,位置等内容).我还有许多输入字段(文本,滑块等),允许用户操作绘图.我看到我可以$观察每个元素或使用ng-click并调用函数 – 是否有推荐的方法?

一些可能相关的说明:

>表单元素和画布都是同一指令模板的一部分
>表单元素响应onchange所以没有提交按钮
>检查每个表单元素值,然后转换然后修改json字符串.然后我调用一个刷新函数,用新数据重新加载我的画布.

我也可能以错误的方式接近这个……

解决方法

因此,根据我的理解,用户可以对某些元素(在指令中)执行某些操作,并且每次触发这些事件时都必须执行某些操作.

$watch的目的是每次特定变量的值发生变化时“观察”/做某事. $scope.$watch(‘watchedVariable’,onWatchedVariableChangedFn)其中onWatchedVariableChangedFn是一个函数.只有当值实际发生变化时才会触发此操作,而不管导致更改的原因.

另一方面,您可以将事件处理程序连接到标记属性,例如ng-click =’onClickFn()’.这些会从UI元素上的操作中触发. [另请注意,ng-click仅适用于可点击元素.您似乎有多个元素(文本,滑块等).]

您可能必须查看究竟是什么原因导致这些值的更改/导致您重绘画布然后决定您想要去哪种方式.

编辑:您可能要考虑的第三个备用项是在适用的情况下触发事件($emit / $broadcast)和处理($on)这些事件.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读