2
請參見本文的jsfiddle:http://jsfiddle.net/viro/DK5pC/3/angularJS指令具有隔離範圍,屬性綁定不起作用
相比,我已經找到了教程和回覆我所做的看起來正確,所以我敢肯定,我俯瞰一些微不足道的東西。
我試圖做一個html元素上的指令,這將創建一個兄弟div來顯示與原始元素相關的消息。
例如,對於這個網站:
<input ng-model="inp" tst-msg="message" />
我會創造一個兄弟元素:
<div class="msg">Msg:<span ng-bind="tstMsg"></span></div>
我希望在div的範圍tstMsg
將輸入的被綁定到message
範圍。
這裏的指令是什麼樣子:
angular.module('tst', [])
.directive('tstMsg', function(){
var template = "<div class='msg' >Msg:<span ng-bind='tstMsg'></span></div>";
var link = function(scope,element,attrs) {
element.parent().append(template);
console.log("link called");
};
return {
restrict: 'A',
scope: {
tstMsg: '='
},
link: link
};
});
好,不工作,我想不通爲什麼。
問題:你爲什麼要修改的範圍對象{tstMsg: '= tstMsg'}?我認爲只是'='它會起作用。 –
良好的結果 - 簡短的答案是肯定的,只有等號很好'{tstMsg:'='}'。背景是在你的鏈接提琴'tstBubble:'=''我切換到'tstBubble:'= tstMsg''。然後,我看到用'tstMsg',而不是你的帖子'tstBubble'所以我換了名稱的代碼以匹配您的文章,但使用全局搜索和替換。 – KayakDave
啊,沒有注意到。發佈鏈接之前,我認爲我已將其重命名爲tstMsg。 –