2016-02-04 119 views
1

我想在我的輸入框中設置NG-模型的價值的scope.modelName值到指令:更換NG-模型值與範圍值屬性爲「新」的範圍指令

<input ng-model="{{modelName}}"> 

但這是不合法的,併產生一個錯誤,有什麼最好的表達那麼做?

最終的HTML結果必然是:

<input ng-model="username"> 

這裏的情況是特殊的,因爲範圍「更新」到指令和輸入位於該指令中:

app.directive("textbox", function() { 
return { 
    restrict: 'AEC', 
    replace: false, 
    scope: true, 
    templateUrl : "directives/textbox.html", 
    link: function (scope,element, attr) { 
     scope.modelName = attr.name; 
    } 
    }; 
}); 

那指令應該如下使用:

<textbox name="username"></textbox> 

在正常情況下,fo正在運行的示例:

<input ng-model="modelName"> 

但是,當我用我的情況下,它會產生相同的,沒有任何改變ng模型的價值!

+0

嘗試'ng-model =「[modelName]」'。 –

+0

可能重複http://stackoverflow.com/questions/15964278/angularjs-bind-ng-model-to-a-variable-which-name-is-stored-inside-another-vari –

回答

4

我認爲你正在尋找:

<input ng-model="modelName"> 

不需要車把

+0

是的,這是在正常工作辦法。我會更新問題以獲取更多詳細信息。 – Hatem

4

更新從

<input ng-model="{{modelName}}"> 

<input ng-model="modelName"> 

僅供參考 - ng-model

2

我假設您正在查找的輸出應該等於<input value="username">而不是<input ng-model="username">(如您的問題所述)。

要解決您的問題,您應該使用<input ng-model="modelName">。沒有必要花括號。