angular 指令生成的复选框不响应 ng-change

用户308553

我的指令:

            (function () {
                var directive = function ($compile, $http, $rootScope, $translate) {
                    return {
                        restrict: 'E',
                        scope: {
                            baseUrl: '@rmsUrl',
                        },
                        link: function (scope, element, attrs) {
                            $rootScope.languageSwitcher = {
                                toggle: true,
                                changeLanguage: function () {
                                    if ($rootScope.languageSwitcher.toggle) {
                                        $translate.use('ENG');

                                    } else {
                                        $translate.use('FRE');
                                    }
                                }
                            }

                            $rootScope.$on('oauth2:authSuccess', function (data) {
                                var html2 = 'French <label class="switch">'
                                html2 += '<input type="checkbox" ng-model="languageSwitcher.toggle" ng-change="languageSwitcher.changeLanguage()" /><div></div>'
                                html2 += '</label>English'
                                element.html(html2);
                                $compile(element.contents())(scope);
                            });

                        }
                    };
                };

                angular.module('testingApp')
                    .directive('rmsLanguageToggler', directive);

            }());

我的索引文件包含指令:

<rms-language-toggler  rms-url='blah blah blah'></rms-language-toggler>

我的问题:

html 正确呈现,但是更改/单击复选框不会触发该功能:$rootScope.languageSwitcher.changeLanguage()

用户308553

我现在知道为什么了。原来指令中的 ng-change 和 ng-model 仍然引用内部隔离范围。我必须使用 $parent。访问外部模型,即 $parent.languageSwitcher.toggle

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

检测Angular.js ng-change事件中的复选框是否处于选中状态

来自分类Dev

Angular ng-change 不适用于复选框

来自分类Dev

使用ng-change AngularJs保存复选框状态

来自分类Dev

ng-change 未在复选框中调用

来自分类Dev

复选框中的ng-change被触发了多次,因为在其上单击ng

来自分类Dev

使用ng-click重置Angular复选框,以重置绑定到该复选框的ng-model,从而防止取消选中该复选框

来自分类Dev

Angular,在ng-repeat中选中复选框(或单选)需要Ng

来自分类Dev

带有ng-repeat的angular复选框列表模板扩展指令:如何指定数据字段和显示字段的名称

来自分类Dev

ng-change on复选框需要2点击

来自分类Dev

如果javascript设置了ng change事件,则复选框不会触发

来自分类Dev

带有$ event.target的AngularJS复选框ng-change问题

来自分类Dev

未从标签内的复选框中触发ng-change

来自分类Dev

AngularJS复选框和ng-change的工作原理很奇怪

来自分类Dev

ionic / Angularjs-无法在ng-change上取消选中复选框

来自分类Dev

如果是由javascript设置的,则ng change事件不会在复选框上触发

来自分类Dev

如何在angularjs中为复选框存储有效的ng-change事件

来自分类Dev

Angular-控制器对象的ng-init复选框值

来自分类Dev

angular ng-disable复选框不使用动态源更新

来自分类Dev

使用ng-model标记复选框ANGULAR.JS的值

来自分类Dev

如何在 Angular-4 的 ng2-table 中添加复选框?

来自分类Dev

用ng-change Angular隐藏元素

来自分类Dev

Aurelia版本的Angular的ng-change

来自分类Dev

Angular JS:在ng-change上获取ng-model

来自分类Dev

ng-class不响应Angular中的模型更改?

来自分类Dev

ng-class不响应Angular中的模型更改?

来自分类Dev

AngularJS:使用ng-repeat生成复选框

来自分类Dev

Angular 7:类型为radio的复选框,使用ngModel还是change-function?

来自分类Dev

Angular ng-if like指令

来自分类Dev

如何从Angular JS中的ng-repeat循环中检查第一个复选框?

Related 相关文章

  1. 1

    检测Angular.js ng-change事件中的复选框是否处于选中状态

  2. 2

    Angular ng-change 不适用于复选框

  3. 3

    使用ng-change AngularJs保存复选框状态

  4. 4

    ng-change 未在复选框中调用

  5. 5

    复选框中的ng-change被触发了多次,因为在其上单击ng

  6. 6

    使用ng-click重置Angular复选框,以重置绑定到该复选框的ng-model,从而防止取消选中该复选框

  7. 7

    Angular,在ng-repeat中选中复选框(或单选)需要Ng

  8. 8

    带有ng-repeat的angular复选框列表模板扩展指令:如何指定数据字段和显示字段的名称

  9. 9

    ng-change on复选框需要2点击

  10. 10

    如果javascript设置了ng change事件,则复选框不会触发

  11. 11

    带有$ event.target的AngularJS复选框ng-change问题

  12. 12

    未从标签内的复选框中触发ng-change

  13. 13

    AngularJS复选框和ng-change的工作原理很奇怪

  14. 14

    ionic / Angularjs-无法在ng-change上取消选中复选框

  15. 15

    如果是由javascript设置的,则ng change事件不会在复选框上触发

  16. 16

    如何在angularjs中为复选框存储有效的ng-change事件

  17. 17

    Angular-控制器对象的ng-init复选框值

  18. 18

    angular ng-disable复选框不使用动态源更新

  19. 19

    使用ng-model标记复选框ANGULAR.JS的值

  20. 20

    如何在 Angular-4 的 ng2-table 中添加复选框?

  21. 21

    用ng-change Angular隐藏元素

  22. 22

    Aurelia版本的Angular的ng-change

  23. 23

    Angular JS:在ng-change上获取ng-model

  24. 24

    ng-class不响应Angular中的模型更改?

  25. 25

    ng-class不响应Angular中的模型更改?

  26. 26

    AngularJS:使用ng-repeat生成复选框

  27. 27

    Angular 7:类型为radio的复选框,使用ngModel还是change-function?

  28. 28

    Angular ng-if like指令

  29. 29

    如何从Angular JS中的ng-repeat循环中检查第一个复选框?

热门标签

归档