2016-03-07 106 views
1

我試圖寫一個自定義指令,我把範圍:true.As據我的知識,這應該採取父範圍,當我們改變模型,它應該改變它的內部範圍只。但在下面的例子中我發現,當我改變指令時,父母也會改變。任何人都可以告訴我,背後的原因。Angularjs自定義指令範圍:true更改它的父範圍

HTML

<div class="container" ng-app="myModule" ng-controller="mainControll"> <div>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Exercitationem harum numquam odio, tenetur earum deleniti culpa recusandae? Temporibus expedita, porro numquam at voluptas aspernatur nemo veniam nam, vel assumenda placeat!</div>{{text}}<br/> <input type="text" class="form-control" id="exampleInputEmail1" placeholder="Email" ng-model="text"> <firstdir></firstdir> </div> 

的JavaScript

var app = angular.module("myModule",[]); 
app.controller("mainControll",function($scope){ 
    $scope.text = "Content from controller"; 
}); 

app.directive("firstdir",function(){ 
    return{ 
    restrict:"EACM", 
    replace:"true", 
    scope:"true", 
    template:'<p>{{text}}<br/><input type="text" class="form-control" id="exampleInputEmail1" placeholder="Email" ng-model = "text"></p>' 
    } 
}) 

樣品,你可以找到here

預先感謝您

回答

3

在您提供的代碼中,示波器被分配了字符串「true」,這實際上應該是布爾真實的

app.directive("firstdir",function(){ return{ 
restrict:"EACM", 
replace:"true", 
scope: true, 
template:'<p>{{text}}<br/><input type="text" class="form-control" id="exampleInputEmail1" placeholder="Email" ng-model = "text"></p>'}}) 
+0

感謝您的解決方案,這是我的錯誤。感謝您的時間。 – user1162084

+0

我歡迎..如果這是你正在尋找的答案,然後請將其作爲答案..謝謝 – rraman

+0

你好替換相同。它接受布爾值而不是字符串。 – gaurav