问题标签 [angularjs-controlleras]
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.
javascript - JavaScript | 角 | 控制器作为语法:不能使用 `this`
无法使用 ControllerAsthis
任何人都可以向我解释以下情况吗?
作品
休息
那个使它成为关键字的单个字母——我想要的——破坏了森林。
为什么是这样?
PS 我知道这个vm约定,但我发现它扰乱了控制器/视图模型的可移植性。
javascript - AngularJS 变量不会持续查看
这里有一个奇怪的错误,我可以成功切换到其他视图,但我的问题是即使是一个简单的变量也无法“到达”视图。有人看到我的(可能是愚蠢的)错误吗?
索引.html
控制器.js
主页.html
我使用硬编码文本进行了测试,每当我使用菜单导航时,它都会提供正确的视图。我也尝试过记录不同的对象(homeController、homeCtrl、...)。只有变量this不是未定义的,但这个变量只包含 $scope。
提前致谢。
javascript - 以角度更新http请求回调中的变量
这可能很容易,但尽管如此。我的控制器中有一个 http 调用,我在其中加载了一个 json 文件。我想根据结果更新我的 html 中的变量。它显然会更新 JS 中的变量(console.log),但不会更新 html 中的变量。有没有办法将 $apply 用于结果或类似的?还有什么好用的?这是一个(不)工作的 plnkr
JS:
HTML:
javascript - memory game with angular
I'm remaking a memory game to become familiar with controllerAs View Syntax. I've narrowed the problem to the check function; but i might be wrong. The check function passes card as a parameter but when i use console.log(card) there is no value for card, when card should have the value of the array hiragana or optionally letters.
angularjs - 同一元素中的多个指令对可见性进行操作
对于以下情况,我一直在努力使用我的方法。我有一个自定义指令authorize,我在其中传递了一个组的名称。如果当前用户在他的个人资料中有这个组,那么该元素将是可见的,否则该元素将被隐藏。例子:
以及我在打字稿中使用链接功能的原始指令authorize.ts(因为我在 DOM 上操作)
这工作正常,如果 authService 返回 false 因为用户不属于该组(即:),则隐藏按钮"accountants"。
当我的 DOM 元素也有ng-showorng-hide指令时,就会出现问题。例子:
当myVm.isDeleted = true它似乎覆盖了我的指令的结果并显示了 DOM 元素时(当它不应该因为用户不属于我的authorize指令所指定的组时)。
我意识到指令中有一些优先级(默认情况下0),当两个指令具有相同的优先级时,它们会根据文档按字母顺序执行。这篇文章对理解这一点很有帮助。
所以我在这里有一些选择:
让我的授权指令评估条件以
ng-hide进行ng-show计算(即:如果 ng-hide 说应该显示元素但用户没有特定的组,则应该隐藏元素)。我找不到myVm.isDeleted在我的指令链接的函数中访问的方法。如果有人知道我会对这种方法感到满意。让我的
authorize指令在任何其他指令之前执行,并依赖 angular 稍后根据ng-showor确定可见性ng-hide(即:如果我的authorize指令确定元素应该隐藏,因为用户不属于给定的组,那么它应该转换 DOM元素并制作它ng-show="false",以便稍后隐藏元素。这种方法似乎不起作用,DOM似乎是正确的,我可以看到按钮有 ng-show="false" 但由于某种原因我仍然看到屏幕上的按钮,所以好像 Angular 不知道它必须隐藏该元素。有趣的是,如果我移动到另一个选项卡,然后我回到同一个选项卡(视图被重新加载并且指令重新-执行)然后它工作正常。这是怎么回事?.
我选择了选项 2,这是似乎可以正常操作 DOM 的代码,但是 Angular 之后没有应用 ng-show 指令,因此结果与预期不符。
angularjs - AngularJS Ctrl 作为服务的语法
我正在迁移我的 Angular 1.x 代码以使用更新、更首选的语法,避免使用 $scope 并将控制器用作语法。不过,我在从服务获取数据时遇到问题。
这是我的例子:
我遇到的这个问题是,从 userService.async 返回的数据是一个对象,我似乎无法深入了解从中获取数据,因为数据是 $$state 的子对象,它不能似乎在视图中使用。
如果这不是在 Controller As/$scope-less 语法中使用服务的正确方法,那么正确的方法是什么?
javascript - 为什么我的控制器方法不可用?
很长一段时间后,我不得不再次集中注意力。但是我失败了...
... ng-repeat="n 在 DataController.getObjects"
它正在将测试 1 写入控制台,但没有写入测试 2。前端没有获取数组。
对我有什么提示吗?
问候 n00n
angularjs - 如何从 Angularjs 中的指令更新控制器中的变量(ControllerAs 语法)?
我有一个dropzone指令:
其中responseinsuccess事件处理程序是上传的文件 ID。
我想在我的uploadFileFormCtrl:
这将适用于特定的控制器,即uploadFileFormCtrl as uploadFile
但是我有多个不同controllers的(例如:uploadFile、uploadImage等)具有dropzone文件上传器,所以我不能在指令中添加特定的控制器名称。
指令和控制器应该如何相互通信来实现这一点?