Как исправить ошибку разбора для приведенного ниже кода - PullRequest
0 голосов
/ 03 мая 2020

Html код:

<div ng-controller="myController">
    <input type="input" ng-model="title" />
    <br/>
    <p class="jm-find" title1="title" title2="spell('fe')"></p>
</div>

Javascript код:

var app = angular.module('app', []);

app.controller("myController", function ($scope) {
    $scope.title = "binding";    
    $scope.spell = function(ele){
        console.log("me "+ele);
    }
});

app.directive("jmFind", function () {
    return {
        replace: true,
        restrict: 'C',
        transclue: true,
        scope: {
            title1: "=",
            title2: "&"
        },
        template: "<div><button ng-click={{title2}}>{{title1}}</button></div>"
    };
});

Я пытаюсь понять использование " & " в Angularjs пользовательская директива. Я следовал нескольким примерам, но не набрал правильный синтаксис для вызова функции spell.

JSFiddle Link: http://jsfiddle.net/k03ozLts/

1 Ответ

0 голосов
/ 03 мая 2020

Вызвать AngularJS выражения, связанные с привязкой выражения (&):

app.directive("jmFind", function () {
    return {
        scope: {
            title1: "=",
            title2: "&"
        },
        ̶t̶e̶m̶p̶l̶a̶t̶e̶:̶ ̶"̶<̶d̶i̶v̶>̶<̶b̶u̶t̶t̶o̶n̶ ̶n̶g̶-̶c̶l̶i̶c̶k̶=̶{̶{̶t̶i̶t̶l̶e̶2̶}̶}̶>̶{̶{̶t̶i̶t̶l̶e̶1̶}̶}̶<̶/̶b̶u̶t̶t̶o̶n̶>̶<̶/̶d̶i̶v̶>̶"̶
        template: "<div><button ng-click='title2()'>{{title1}}</button></div>"
    };
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...