Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS:开关模型值不影响用户界面_Javascript_Angularjs - Fatal编程技术网

Javascript AngularJS:开关模型值不影响用户界面

Javascript AngularJS:开关模型值不影响用户界面,javascript,angularjs,Javascript,Angularjs,我已经在链接:方法中创建了一个指令并启动了一些模型,然后在上绑定了一个click事件,需要在一个作用域上$apply来运行摘要循环。从事件更改范围变量不会运行角度摘要循环,我们需要手动运行它 链接Fn link: function (scope, element, attrs) { scope.activeContinent = 'Asia'; scope.altContinent = 'America'; element.find('a'

我已经在
链接:
方法中创建了一个指令并启动了一些模型,然后在

上绑定了一个click事件,需要在一个作用域上
$apply
来运行摘要循环。从事件更改范围变量不会运行角度摘要循环,我们需要手动运行它

链接Fn

    link: function (scope, element, attrs) {
        scope.activeContinent = 'Asia';
        scope.altContinent = 'America';
        element.find('a').on('click', function (e) {
            e.preventDefault();
            var x = scope.altContinent;
            scope.altContinent = scope.activeContinent;
            scope.activeContinent = x;
            document.querySelector('#log')
                .innerHTML = scope.activeContinent + '  ' + scope.altContinent;
            //$compile(document.querySelector('#log'))(scope);
            scope.$apply();
        });
    }

在指令代码末尾添加
scope.$apply()
。scope.apply()将起作用。。上述评论是正确的。您需要使用scope.$apply()杀死$digest,这样就不会有人监视更改了。@valverde93非常感谢,
scope.$apply()
正在工作。这就是我要找的。回答下面的问题以关闭!更新:@vinaykrsharma不客气!pankajparkar先生也回答了下面的问题,现在就要结束了