问题标签 [angularjs-1.5]
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 1.5) useAsDefault 配置
我是组件路由器的新手。我在 angular 1.5 中使用它,我想定义一个默认组件,以防用户尝试访问配置中未定义的路由:
我有一个具有此配置的应用程序组件:
以及具有此配置的布局组件
我可以访问localhost:8080/#/和localhost:8080/#/user的 URL,但是当我尝试访问 localhost:8080/#/test 时,它不会将我重定向到主组件,尽管 useAsDefault 设置为 true (我得到一个空白页......)。
有没有人遇到过这个问题?
javascript - AngularJS 1.5 组件中的第三方异步回调
在 AngularJS 1.5 之前,在指令或视图中,确保在从第三方异步回调发出更改时(使用 $digest 循环)获取更改的方法是在$scope.$apply()
调用中运行您的代码。
对于组件,据我了解,其想法是摆脱$scope
模板并将模板绑定到组件的控制器。我正在尝试过渡到编写组件而不是视图,而不依赖于 $scope。假设我有以下代码:
这里的问题ng-show
是双重绑定到控制器,但不使用 $scope.$apply() 进行回调,ng-show 不会拾取更改,因为不会触发 $digest 循环。这非常令人烦恼,因为我必须在控制器中注入 $scope 并调用 $apply,但这首先违背了依赖 $scope 的目的。
我想一种方法是将 TPApi 与$q
服务一起封装,从而确保在发出回调时调用 $digest 循环。但是,如果在某个时候我想过渡到使用新的本机Promise
API 而不是$q
?
有没有一种聪明的方法可以在不触发 $digest 的情况下做到这一点,或者 angular 1 由于 $scope 和 $digest 而存在固有缺陷?
javascript - 使用 ng-transclude 强制作用域到命名槽
我有一个指令如下:
问题在于,当内部绑定在其中时,当前迭代项的引用<item-template>
在哪里。item
ng-repeat
<selectable-item-list>
AFAIK,似乎嵌入无法看到指令的范围,因此,它item.text
不能被绑定,因为根本没有item
。
您将如何解决这种情况?以前我是手动嵌入<item-template>
,但其他方法有其他缺点/问题。
这是一个可运行的代码片段,可作为我真实案例的示例:
javascript - 如何在 Angular 1.5 组件中实现 $compile(..)($scope) 服务,其中 $scope 可注入被删除?
我目前正在使用 Angular 1.4,在转换到 Angular 1.5 的过程中,我正在将所有控制器重写为组件样式并删除控制器内的 $scope 可注射剂。在一种情况下,我使用 $compiler 服务在控制器内编译动态生成的 html,以便将 ng-click 属性绑定到控制器范围。我从以下问题中得到了帮助。
现在如何使用 Angular 1.5 实现相同的场景?(我必须摆脱 $scope)
angularjs - 具有 ui-router 解析的 Angular 1.5 组件:未知提供者
我在将控制器转换为为 Angular 2 准备我的应用程序的组件时遇到了问题,但问题是迁移不顺利,我有 ui-router 在状态之间路由并在一些控制器中使用解析,带有控制器的版本正在工作,但组件的版本现在完全可以工作,我遵循了很多指南,似乎我在代码方面做得很好,但对我不起作用。
我有以下带有控制器的模块:
控制器:
上面的代码运行良好,但是在将其作为一个组件后,它变成了这样:
组件:
但现在它不起作用并给我以下错误:
我在bower.json 中的依赖项:
知道什么问题,我错过了什么吗?
angularjs-1.5 - 如何控制 Angular 指令控制器和放置指令的视图控制器之间的数据共享/阻塞
我现在正在学习 AngularJS 1,对范围和指令控制器感到困惑。我不明白为什么我的指令控制器可以访问控制器中定义的所有变量,该控制器控制放置指令的视图,因为我在指令中插入了一个空的隔离范围,以及bindToController 对象,它仅引用视图的控制器变量之一。
索引.html
主控制器.js
基本指令.js
呈现:
到目前为止,我目前的理解让我期望只有第一个“Hello World”会呈现,因为这是我绑定到指令控制器的唯一一个。显然,我缺少一些东西。有人可以解释吗?我的指令控制器之间dr.there
有什么实际区别吗?dr.id
ps 请记住,为了在此处发布,我简化了代码以仅处理此问题,因此所写的指令绝对是做作的。
javascript - 为什么我的组件绑定在其控制器中未定义?
我正在写一个简单的角度组件。我将参数作为绑定传递并在屏幕上显示其值。一切正常:我可以看到屏幕上显示的参数。
零件:
html:
但是,当我尝试从控制器内部访问绑定时(请参阅 console.log),绑定值为undefined
. 我不明白它如何在视图中可用,但在控制器中却不可用。
我究竟做错了什么?
这是一个说明问题的plnkr。
javascript - Angular 1.5,从 ng-repeat 外部调用组件函数?
刚开始学习 Angular 1.5 组件,尝试了一些新规则,但似乎无法理解这一点:
所以在我的主要:`
我似乎无法理解,如何在 runList 中从控制器运行组件操作 obj.action()。
抱歉,如果我没有正确设置堆栈溢出格式,我几乎还是个初学者。
ps我读了类似的问题,但是A)在html中没有任何内容,并且与ng-repeat没有直接关系
进一步澄清问题(如果需要):运行 $interval 的组件如何调用不同的组件 ng-repeated 对象的函数。
json - 用于加载模拟 json 文件的 Http POST
我有一个应用程序可以访问服务器上的 API。但是服务器还没有开发,所以我在本地机器上使用模拟 .json 文件来进行客户端开发(使用 angularjs)。一些 API 需要发送 POST 请求(例如:登录)。当我发送 POST 请求以访问我的模拟 .json 文件时,它给了我 400 状态错误。是否可以使用 Http Post 方法请求 .json 文件?