ng-click在指令模板内不起作用

sanman

我是有角度的自定义指令的初学者。我只是使用自定义指令基于控制器作用域值呈现两个html模板。呈现html ng-click =“ myclick()”事件后,这两种模板均无法使用。

view.html

<div ng-controller = 'ctrl1'>
     <div class="doc-list-wrapper" ></div>
</div>
<div ng-controller = 'ctrl2'>
    <div class="doc-list-wrapper" ></div>
</div>

模板

<script type="text/ng-template" id="tmpl-doc-list-wrapper">
        <ul>
            <li ng-repeat="doc in docs" >
                <a rel="external" ng-click="myclick()" >
                    <span >{{doc.stageName}}</span>
                </a>
            </li>
        </ul>
</script>

模板渲染

app.run(function ($templateCache) {
        $templateCache.put(
            'tmpl-doc-list-wrapper', jQuery('#tmpl-doc-list-wrapper').html());
    });

我的指令

app.directive('docListWrapper', ['$timeout', function ($timeout) {
        return {
            restrict: 'C',
            priority: 500,
            replace: true,
            templateUrl: 'tmpl-doc-list-wrapper',
            scope: { docs: '=docs'},
            link: function (scope, element, attrs) {
            }
        };
    }])

控制器

app.controller('ctrl1', function ($scope, $interval) {
    $scope.docs = [{"doc":"http://google.com","stageName":"Project 1"},
                        {"doc":"http://google.com","stageName":"Project 2"},
                        {"doc":"http://google.com","stageName":"Project 3"},
                        {"doc":"http://google.com","stageName":"Project 4"},
                        {"doc":"http://google.com","stageName":"Project 5"},
                        {"doc":"http://google.com","stageName":"Project 6"},
                        {"doc":"http://google.com","stageName":"Project 7"},
                        {"doc":"http://google.com","stageName":"Project 8"}];
    $scope.myclick = function(){
        alert('clicked me ')
    }
});

app.controller('ctrl2', function ($scope, $interval) {
    $scope.docs = [{"doc":"http://google.com","stageName":"Unit 1"},
                        {"doc":"http://google.com","stageName":"Unit 2"},
                        {"doc":"http://google.com","stageName":"Unit 3"},
                        {"doc":"http://google.com","stageName":"Unit 4"},
                        {"doc":"http://google.com","stageName":"Unit 5"},
                        {"doc":"http://google.com","stageName":"Unit 6"},
                        {"doc":"http://google.com","stageName":"Unit 7"},
                        {"doc":"http://google.com","stageName":"Unit 8"}];
    $scope.myclick = function(){
        alert('clicked me ')
    }
});
Thalaivar
$scope.myclick = function(){
    alert('clicked me ')
}

在控制器中,但指令是isolate作用域,因此您需要通过传递myclickscope : {myclick: "&"}或使用指令控制器方法来定义myclick

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何修复ng-click在递归指令模板中不起作用

来自分类Dev

在指令模板中,ng-repeat范围内不起作用

来自分类Dev

ng-show在指令模板内部不起作用

来自分类Dev

ng-click内部指令不起作用

来自分类Dev

ng-click在我的指令中不起作用

来自分类Dev

ng-click在指令的动态html中不起作用

来自分类Dev

ng-class在指令内不起作用

来自分类Dev

AngularJs ng-if指令不起作用?

来自分类Dev

为什么此ng-show指令在模板中不起作用?

来自分类Dev

为什么此ng-show指令在模板中不起作用?

来自分类Dev

Angular自定义指令中的动态模板(在嵌套ng-repeats中)不起作用

来自分类Dev

ng类条件表达式在指令模板中不起作用

来自分类Dev

带有形式条件的ng-show在AngularJS中的指令模板上不起作用

来自分类Dev

将函数传递给指令时,ng-click不起作用

来自分类Dev

AngularJS ES6 ui-grid指令范围,ng-click不起作用

来自分类Dev

将函数传递给指令时,ng-click不起作用

来自分类Dev

AngularJS ES6 ui-grid指令范围,ng-click不起作用

来自分类Dev

ng-if中指令上的element.on('click')不起作用

来自分类Dev

ng-click不起作用

来自分类Dev

ng-click 对 li 不起作用

来自分类Dev

ng-confirmed-click 不起作用

来自分类Dev

Angularjs ui-grid 单元格模板中的 ng-click 不起作用

来自分类Dev

ng-click在ng-repeat内部不起作用

来自分类Dev

ng-click在ng-repeat内部不起作用

来自分类Dev

ng-click在ng-switch内部不起作用

来自分类Dev

ng-click在ng-repeat内部不起作用

来自分类Dev

ng-click 和 ng-change 不起作用

来自分类Dev

使用ng-transclude包裹指令内容不起作用

来自分类Dev

ng-focus自定义指令不起作用

Related 相关文章

热门标签

归档