0
產生我有指令設置表格的一些值如何防止NG-模型覆蓋由指令
lightconsole.directive("injectSession", function() {
return function (scope, element, attrs) {
var paramInput = angular.element(element).find("input")
if (paramInput) {
var paramName = scope.param.name.toLowerCase();
var sessHolder = angular.element("#user_session");
if (paramName === "session" || paramName == "sessionid") {
paramInput.val(sessHolder.val());
sessHolder.bind("change", function (session) {
paramInput.val(sessHolder.val());
});
}
}
}
});
然後我創建了一個form
與ng-repeat
輸入文本的價值:
<form ng-submit="callFun()">
<table class="materail_input_block">
<thead>
</thead>
<tr ng-repeat="param in fun.operationArguments" inject-session>
<td>{{param.type}}</td>
<td>{{param.name}}</td>
<td><input name="{{param.name}}"
class="form-control materail_input" type="text"
placeholder="enter value"/></td>
</tr>
</table>
<input type="submit" value="Call"/>
</form>);
在這種情況下,如果其中一個元素被命名爲session,則一切正常,值表單隱藏輸入被設置爲輸入值,但是當我將ng-model
添加到input
元素時,值將被刪除。
刪除paramInput並使用範圍,如'scope.myModel = sessHolder.val()',並在輸入上添加'ng-model =「myModel」' –
謝謝@JoseRocha,這很好。但是,你能解釋爲什麼設置輸入元素的值不起作用嗎? –