不调用模板代码中的函数

时间:2017-10-01 14:59:50

标签: javascript angularjs

在代码中我有调用,例如addComment,为什么在从HTML粘贴后执行directiv模板她没有工作?我该怎么办。

第二个问题是

之间的区别
modal-window-card card="card"

modal-window-card="card"

因为我看到可能我只分配了变量card.name,在第一个例子中我有完整的对象,但为什么呢?

HTML:

 <div modal-window-card card="card"></div>  

Directiv:

App.directive('modalWindowCard', function () {
    return {
        scope: {
            card: "=", 
        },
        template: `
        <div id="{{$parent.$parent.$index}}/{{$parent.$index}}" class="modalDialog">
            <div>
                <a href="#close" title="Close" class="close">X</a>
                <div>
                    <div class="windows-title">
                        <span class="header">{{ card.name }} </span>
                    </div>
                    <div class="window-header">
                        <p class="quiet-header">W liscie {{ item.list }}</p>
                    </div>

                    <div class="windows-description">
                        <span class="loud-header">Dodaj komentarz:</span>
                        <form ng-submit="addComment($parent.$index, $index, commentCard)">
                            <input id="text2" ng-model="commentCard" cols="30" rows="5"> 
                          </form>
                            <button ng-click="addComment($parent.$index, $index, commentCard)" style="margin-top:5px;">Zapisz</button>
                       </div>

                        <div class="window-activity">
                            <span class="loud-header">Aktywnosc</span>
                            <span class="quiet-header" style="float: right; margin-right: 310px;">Pokaz Szczególy</span>
                            <div class="window-comments">
                                <div style="border-bottom: 1px solid #E2E4E6; margin-top: 5px;" ng-repeat="comment in card.comments">
                                    <span class="name-header">{{ comment.author }}</span>

                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>`
   }
})

1 个答案:

答案 0 :(得分:1)

您应该使用@而不是使用=

scope: {
        card: "@", 
    }
div元素中的

<div modal-window-card card="card value is here"></div>

您正在调用指令&#34; modalWindowCard&#34;使用模态窗口卡,您将传递名为&#34; card&#34;的属性。指令的隔离范围属性。

在这种情况下

<div modal-window-card="card value is here"></div>

Angularjs试图找到一个指令,但它无法解析这个&#39; =&#39;。名称&#39; &#39;在模态窗口 - =&#34;卡值在这里&#34;不是您可以将其发送到指令的属性。

我修改了您的代码,请查看here