2015-10-29 13 views
5

क्या ऐसा कुछ नहीं करना चाहिए? क्योंकि मैं इसे काम करने में असमर्थ हूं।कोणीय - स्कोप चर का उपयोग कर एनजी-मॉडल सेट करें

मेरी नियंत्रक में मैं

$scope.test = "someValue" 

है और मेरे विचार में

<input ng-model="test" /> 

क्या मैं

<input ng-model="someValue" /> 

होने के लिये हालांकि उम्मीद कर रहा हूँ, एनजी-मॉडल के लिए स्थापित किया जा रहा के रूप में रहता है "परीक्षा"।

मैं इसे कैसे हल करूं?

+0

वह विशेषता क्या है जिसे आप सेट करना चाहते हैं? या यह है कि पाठ मान "कुछ वैल्यू" हो? –

उत्तर

0

अपना कंट्रोलर कोड दिखाएं। हालांकि, मैंने नीचे दिखाया है कि इसे काम करना चाहिए।

angular.module('myApp', []); 
 

 
angular.module('myApp').controller('myCtrl', function($scope) { 
 
    $scope.test = "somevalue"; 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<body ng-app="myApp"> 
 
    <form ng-controller="myCtrl"> 
 
    <input type="text" ng-model="test" /> 
 
    </form> 
 
</body>

ng-model सिर्फ बाध्यकारी वस्तु का प्रतिनिधित्व करता है। यह नहीं बदलेगा। value में क्या परिवर्तन है, जो उस मान के अनुरूप है जो ng-model ऑब्जेक्ट लेता है।

2

यह तरीका नहीं है ng-model काम करता है। यदि आपके पास स्कोप वैरिएबल है, जैसा कि आपके मामले में test और इस चर का मान आपके input की मान संपत्ति में प्रतिबिंबित होगा। इसका मतलब है कि someValueinput में दिखाई देगा। दूसरे शब्दों में: ng-model एक निर्देश है जो बाध्य करता है, उदा। NgModelController का उपयोग करके दायरे पर एक संपत्ति के लिए एक इनपुट, चयन, textarea (या कस्टम फॉर्म नियंत्रण)।

NgModelController ngModel निर्देश के लिए API प्रदान करता है।

var app = angular.module('myApp', []); 
 

 
app.controller('TestController', TestController); 
 

 
function TestController() { 
 
    var vm = this; 
 

 
    vm.myModel = "This is the model value"; 
 
    vm.selectedOption = undefined; 
 

 
    vm.options = [{ 
 
    id: '1', 
 
    name: 'Option A' 
 
    }, { 
 
    id: '2', 
 
    name: 'Option B' 
 
    }, { 
 
    id: '3', 
 
    name: 'Option C' 
 
    }]; 
 
};
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular.min.js"></script> 
 

 
<body ng-app="myApp" ng-controller="TestController as vm"> 
 
    <input type="text" ng-model="vm.myModel" /> 
 

 
    <select name="mySelect" id="mySelect" ng-model="vm.selectedOption"> 
 
    <option ng-repeat="option in vm.options" value="{{option.id}}">{{ option.name }}</option> 
 
    </select> 
 
    
 
    <pre ng-if="vm.selectedOption">Selected Option: {{ vm.selectedOption }}</pre> 
 
</body>

भी पता चलता है कि ऊपर के उदाहरण: नियंत्रक डेटा-बाइंडिंग, सत्यापन, सीएसएस अद्यतन, और मान प्रारूपण और

यहाँ पार्स करने के लिए सेवाओं में शामिल है एक उदाहरण है कुछ सर्वोत्तम प्रथाओं का अर्थ है, आपके दृश्य के लिए controllerAs वाक्यविन्यास का उपयोग करना और आपके नियंत्रक हस्ताक्षर की स्पष्ट घोषणा।

+0

धन्यवाद, मैं हमेशा सर्वोत्तम प्रथाओं के लिए युक्तियों की तलाश में हूं। मैं इसे अपने विचार में एक साधारण इनपुट के लिए काम करने के लिए प्राप्त कर सकता हूं, लेकिन जिसकी मैं चाहता हूं उसके लिए नहीं। मुझे लगता है कि मेरे पास जो मुद्दा है, मैं ' देख सकते हैं। – LordTribual

संबंधित मुद्दे