问题标签 [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.
javascript - 如何在 Angular 1.5 组件中监听范围事件?
我正在将代码从 Angular 1.3 迁移到 Angular 1.5 组件和 ES6 控制器。我试图在 SO 上找到一些东西,但没有足够的帮助。除了下面提到的方式之外,关于如何在范围内观看事件所需的建议。或者如何从指令触发范围事件。如果存在替代方案,还请提出正确的方法。
角 1.3
角 1.5/ES6
编辑:
对这里的 $on 而不是 $watch 的替代品感兴趣,因为 $onChange 可以在您只是观察变量时替换 $watch。我想听范围事件,因为不是 100% 的 angular 1.3 代码可以迁移到 1.5,我仍然有触发范围事件的指令!
angularjs - 动态设置 uib-typeahead 属性
我有一个包含 uib-typeahead 的指令,问题是我想用不同的对象数组填充 uib-typeahead,这意味着数组内对象的键的不同名称我有这个
我的指令包含 uib typeahead
这是胆量
});
指令的 HTML
现在代替这个
我要这个
并在指令中设置链接表达式,即
请帮忙,谢谢。
javascript - 在 es6 类中为 Angular 1.5 控制器定义常量
我正在努力让它发挥作用。我知道静态变量不能在 ES 6 格式的类中声明。如何在类中声明常量并在类本身中访问它
这就是我所拥有的。我正在尝试访问 $onINit 时常量的构造函数值。我确实看到 this.constructor.Consts 具有正确的值。但是,当我尝试使用 this.getActionConsts.A 访问它们时,它不存在。
有什么线索吗?
或者有没有更好的方法来定义常量
typescript - 我得到 authManager 未定义
我在使用 Auth0 进行身份验证时遇到问题。
我在 authManager 上未定义身份验证。
authManager 被注入到 authService 中,它被添加到应用程序“auth0.lock”中,“angular-jwt”被添加到模块中。
App.ts(运行方法):
AuthService.ts:
我在服务中添加了一个静态工厂方法,authManager 不是未定义的,但它没有在 authService 构造函数中设置。
这是代码:
}
components - AngularJS 1.5 组件 $postLink 和数据绑定
我正在构建一个包装选择列表的 Angular 1.5 组件,该组件需要通过在 jQuery 元素上调用 .chosen() 来初始化。我可以使用 $postLink 生命周期回调和 $('.chosen-select').chosen() 之类的方法来做到这一点,效果很好。但是,我可以预料到有人会在同一页面上使用组件的多个实例,因此使用类选择器不一定会获得您想要的组件。
我尝试改用 id 选择器,方法是为某人在 HTML 中分配给组件的任何 id 添加前缀。例如,如果有的话,我可能会<chosen-select id="roles"></chosen-select>
在模板中使用类似 and的组件<select id="cs-{{$ctrl.id}}">
(在控制器中,我绑定id: '@'
)。这一切都按预期工作,除了在 $postLink 中创建了 select 元素(以及其他绑定,例如列出选项的绑定),但 id 仍然是“cs-{{$ctrl.id}}”。什么时候会变成“cs-roles”(当一切都设置好后,它在 DOM 中是什么)?确保我正在访问属于该组件的对象的最佳方法是什么?
这是有效的组件代码:
模板:
零件:
angularjs - Angular $compile 用于动态内容
使用 Angular 1.5,我想使用通用的“覆盖”组件来显示模式中的其他组件。我想传入要在叠加层中呈现的其他组件。
我以为我可以在我的控制器中使用 $compile ,但组件不呈现:
在我的控制器中:
我已经创建了我想要传入的组件,例如“foo”,并且在 DOM 中只获取了一个空元素:
即使在 foo 组件的模板中,我有:
并期望看到:
javascript - AngularJS 过滤对于 1.5 版不能正常工作?
我有三个dropdowns
(Name
和),我需要根据我的选择过滤数据,Description
以便显示相应的数据(例如,如果我选择任何单个复选框,则将显示其数据。否则,如果我选择任何多个复选框,例如从名称和描述或描述和字段4或字段4和名称等,以便显示相应选择的每个过滤数据,但是当我第一次运行/加载页面时,整个过滤选项工作正常,否则它不起作用,例如:如果我取消选中任何选定选项的复选框,那么过滤在版本中不起作用(对于单个或多个复选框选择),我不确定为什么它不能正常工作?创建小提琴Field4
checkbox
angular 1.5.8
. 我在控制台上没有收到任何错误。
请帮助我解决这个问题。提前致谢。
javascript - 如何使用 angularjs 将 json 文件列表加载到下拉框中?
我有三个json
文件,我想将这些json
文件列表加载或获取到我的下拉框中。我怎样才能做到这一点angularjs
?请帮助我,并提前感谢。我创建了Plnkr。
angularjs - AngularJS 1.5 ngOptions Comparison for Displaying a Plain Array
Can anyone tell me why the model option in the first example is selected, and the second one does not for a plain array:
Where the model vm.model.address.owner = 2;
Attempting to not use a hack and using track by instead index 2 is not selected even though the value is still set in the model.
I find ngOptions to be super confusing so any explanation or solution for example 2 since it is cleaner and not a hack would be great.
typescript - 在角度使用 auth0 的自定义注册过程
我正在尝试在同一呼叫中添加更多用户信息。首先在 Auth0 中使用用户名、密码进行注册,然后在回调中继续将用户信息添加到我的数据库中。但我无法让它工作。即使用户已经存在于 Auth0-db 中,它也会触发 API。
这是 AuthService 中的代码:
app.ts 内部: