2015-11-06 4 views
8

के अंदर उपयोग किए जाने पर स्कोप के चर के साथ बाध्यकारी नहीं है यदि uib-tabset के अंदर उपयोग किया जाता है तो वैल्यू स्कोप के चर के साथ बाध्यकारी नहीं है। यहाँ उदाहरण निम्नलिखित में मैं $scope.message UIB-टैब के अंदर प्राप्त करने की कोशिश है और यह के बाहर:मूल्य यूआईबी-टैबसेट

angular.module("app", ["ui.bootstrap"]) 
 
\t \t .controller("myctrlr", ["$scope", function($scope){ 
 
      $scope.message = "my message "; 
 
\t \t }]);
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet"/> 
 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-bootstrap/0.14.3/ui-bootstrap-tpls.min.js"></script> 
 
<div ng-app="app" ng-controller="myctrlr" class="col-md-6 col-md-offset-3"> 
 
\t <uib-tabset> 
 
\t  <uib-tab heading="Static title"> 
 
      <input type="text" ng-model="message" ng-change="change()" /> 
 
      <br /> 
 
      Inside uib-tab : {{ message }} 
 
\t \t </uib-tab> 
 
\t  <uib-tab heading="Another title"> 
 
\t  I've got an HTML heading, and a select callback. Pretty cool! 
 
\t  </uib-tab> 
 
    \t </uib-tabset> 
 
    Outside uib-tab : {{ message }} 
 
</div>

मैं $scope.message घोषित कर दिया और UIB-टैब के अंदर input तत्व के साथ यह बाध्य करने की कोशिश की। लेकिन जब मैंने इसका मूल्य बदल दिया, तो परिवर्तन यूआईबी-टैब के बाहर प्रतिबिंबित नहीं हो रहे हैं।

jsfiddle link

उत्तर

16
मूल रूप से कोणीय में

, यदि आप एक आदिम करने के लिए चर के मूल्य के लिए बाध्य के आसपास पारित हो जाता है में इस की पुष्टि कर सकते हैं, और यह करने के लिए नहीं संदर्भ , जो 2-तरफा बाध्यकारी तोड़ सकता है। मैं अनुमान लगा रहा हूं कि टैबसेट निर्देश अपना स्वयं का दायरा बनाता है, इसलिए नियंत्रक में परिभाषित वैल्यूइस्कोप वैरिएबल टैबसेट के बच्चे के दायरे में बाध्यकारी खो देता है क्योंकि यह एक आदिम है।

$scope.data = {message:'my message'} 

Solution by Object

भी आप $parent.parentproperty का उपयोग बच्चे गुंजाइश बाध्य करने के लिए कर सकते हैं। यह बच्चे के दायरे को अपनी संपत्ति बनाने से रोक देगा।

Solution by using $parent

+0

ने वही समस्या हल मैं $ uibModalInstance का उपयोग कर रहा था – CampbellGolf

4

आप गुंजाइश पर एक वस्तु बनाने और फिर नियंत्रक अंदर गुंजाइश के बजाय वस्तु पर संपत्ति जोड़कर इस मुद्दे को हल कर सकते हैं।

$scope.obj = {message : 'my message'}; 

आप नीचे दिए गए लिंक plunker

http://plnkr.co/edit/3koAJnkOyf6hfGwO6AuD?p=preview