2
我有創建一個自動完成輸入如何將對象引用傳遞給Angular JS中的內部指令?
angular.module('autocomplete', [])
.directive('autocomplete', function (...) {
return {
restrict: 'E',
scope: {
"id": "@id",
"selectedObject": "=selectedobject",
"baseSearchUrl" : "@basesearchurl"
},
templateUrl: "..."
link: function(...){...}
}
}
使用的一個例子的指令:
<autocomplete
id="favoriteMovie"
selectedobject='favMovie'
searchUrl='/rest/movies?search=' />
它的偉大工程。現在,我要的是創造一個新的,更具體的,指令,創建電影自動完成,這樣我就可以這樣使用它:
<autocompleteMovie
id="favoriteMovie"
selectedmovie='favMovie'/>
新指令如下:
angular.module('autocompletemovie', [])
.directive(
'autocompletemovie',
function() {
return {
restrict : 'E',
scope : {
"id" : "@",
"selectedMovie" : "=selectedmovie"
},
templateUrl : '...'
};
});
我的新組件的Html模板:
<autocomplete
id="{{id}}"
selectedobject='{{selectedMovie}}'
searchUrl='/rest/movies?search=' />
但是這不起作用。 id
屬性正確傳遞到「內部」autocomplete
,但由selectedmovie
屬性設置的對象引用不起作用。
我已經做了第二次嘗試,傳遞對象引用的名稱,而不是對象本身的:
指令:
angular.module('autocompletemovie', [])
.directive(
'autocompletemovie',
function() {
return {
restrict : 'E',
scope : {
"id" : "@",
"selectedMovie" : "@selectedmovie"
},
templateUrl : '...'
};
});
但是這並沒有正常工作。
我希望你能理解我想要達到的目標。
[編輯] 我也曾嘗試:
<autocomplete
id="{{id}}"
selectedobject='selectedMovie'
searchUrl='/rest/movies?search=' />
但它不工作。與固定名稱selectedMovie
一個對象上的範圍創建的,即使我所說的指令具有不同的屬性selectedmovie
:
<autocompleteMovie
id="favoriteMovie"
selectedmovie='favMovie'/>
在上面的例子我想有稱爲favoriteMovie
和不selectedMovie
的對象。
[/編輯]
我也嘗試過,但它沒有按預期工作。我編輯了這個問題來添加進一步的解釋。 – 2014-10-27 16:59:57