是否可以在jQuery事件中更改Angular范围?

时间:2016-05-09 08:09:23

标签: javascript jquery angularjs angularjs-scope

这是我的代码:

.directive('Search', function($templateRequest, $compile) {
        return {
            link: function(scope, element, $scope){
                $templateRequest('/js/angularjs/search.html').then(function(html){
                    var template = angular.element(html);
                    element.append(template);
                    $compile(template)(scope);
                    $('#multipleSelect').multipleSelect({
                        test: console.log($scope),
                        onClick: function(view, scope) {
                            //view.checked ? scope.searchByTitle.multi.push(view.value) : scope.searchByTitle.multi.remove(view.value);
                            console.log('scope:');
                            console.log($scope);
                        }
                    });
                });
            }
        };
    });

我正在使用这个插件: http://wenzhixin.net.cn/p/multiple-select/docs/

我想在更改多个选择值之一后实现这一点,我想将其推入AngularJS范围(基本上使用onClick事件)。但是在jQuery函数中无法访问范围......

如果您对此有任何解决方法的想法,我也想听听:P

1 个答案:

答案 0 :(得分:1)

onClick: function(view, scope) {
    var scope = angular.element($("#multipleSelect")).scope();
    view.checked ? scope.searchByTitle.multi.push(view.value) : scope.searchByTitle.multi.remove(view.value);
}

这就是我设法找到的解决方案。它有效:)