javascript - Force one way binding while assigning variable to another variable -
i'm trying assign variable variable , try 1 way binding. when value updated in view, updates original variable too. how stop 2 way binding while assigning variable another.
for example:
function personcontroller ($scope) { var templatevalue= "original value"; $scope.myval= templatevalue; } in view:
<input type="text" ng-model="myval" /> result:
when type in textbox, updates value in myval , templatevalue too, i.e value in templatevalue changes whatever typed in input box. there way assign variable variable doing 1 way binding? want 2 way binding between $scope.myval , input box not between templatevalue , input box.
you can't "force one-way binding" because of weay javascript works.
in example, updating myval not update templatevalue.
function personcontroller($scope) { var templatevalue = "original value"; $scope.myval = templatevalue; } if have following structure, yes, changing myval.test update templatevalue.test because both reference same object in memory.
function personcontroller($scope) { var templatevalue = { test: "original value" }; $scope.myval = templatevalue; } if want myval , templatevalue reference different objects have same content, make copy of original object:
$scope.myval = angular.copy(templatevalue); i suggest familiarising javascript reference vs. value.
Comments
Post a Comment