工作我已經定義像這樣的指令:Udating父對象不是在所有
myApp.directive('someDirective', function() {
return {
restrict: 'A',
scope: {
disableButton: '=',
},
templateUrl: 'sometemplate.html',
controller: 'SomeDirectiveController'
}
});
的指令控制器如下所示:
mLoan.controller('GiversDirectiveController', function (
$scope,
) {
$scope.checkGiversAmount = function() {
var giversCurrentTotalValue = $scope.stocksTotalAmount - $scope.giversCurrentAmount;
}
這是指令視圖
<div class="row">
<div class="col-lg-2">
<label for="customer">Wybierz klienta</label>
<select id="customer"
name="customer"
class="form-control"
ng-model="selectedCustomerId"
ng-options="customer.Id as customer.Name for customer in customers"
ng-change="getGiversFunds(selectedCustomerId)"
required=""></select>
</div>
<div class="col-lg-2" ng-show="customerFunds.length > 0">
<label for="customerFunds">Wybierz fundusz</label>
<select id="customerFunds"
name="customerFunds"
class="form-control"
ng-model="selectedFundId"
ng-options="customerFund.Id as customerFund.Name for customerFund in customerFunds"
ng-blur="updateGiverFund(selectedCustomerId, selectedFundId)"
ng-required="customerFunds.length > 0"></select>
</div>
<div class="col-lg-2">
<label for="giversCurrentAmount">Ilość</label>
<input type="number" min="1"
max="{{giversCurrentAmount}}"
id="giversCurrentAmount"
name="giversCurrentAmount"
class="form-control"
ng-model="giversCurrentAmount"
ng-change="checkGiversAmount(selectedFundId)"
ng-blur="updateGiverStockAmount(selectedCustomerId, giversCurrentAmount)"
required />
</div>
<div class="col-lg-2">
<label for="commission">FEE%</label>
<input type="number"
min="1"
id="commission"
name="commission"
class="form-control"
ng-model="commission"
ng-blur="updateGiverCommission(selectedCustomerId, commission)"
required />
</div>
<div class="col-lg-4">
<label for="minimalCommission">FEE Min</label>
<input type="number"
min="1"
id="minimalCommission"
name="minimalCommission"
class="form-control"
ng-model="minimalCommission"
ng-blur="updateGiverMinimalCommission(selectedCustomerId, minimalCommission)"
required />
</div>
</div>
在哪裏我使用的指令與按鈕父視圖:
<div ng-repeat="giver in givers">
<div givers-directive givers="givers"
givers-current-amount="giversCurrentAmount"
disable-giver-side-add="parent"
stocks-total-amount="stocksTotalAmount">
</div>
</div>
<div class="row">
<div class="col-lg-12 margin-top-10px">
<button id="addGiverSide"
name="saveLoan"
class="btn btn-primary"
ng-click="addGiverSide(AddLoansForm)"
ng-disabled="disableButton">
Dodaj
</button>
</div>
</div>
現在我的問題和問題同時我是如何更新disableButton fr om父模型。在你說這是重複的之前,我已經遇到了一個解決方案,主要是這個:How to access parent scope from within a custom directive *with own scope* in AngularJS?和那個:What are the nuances of scope prototypal/prototypical inheritance in AngularJS?,但似乎沒有任何幫助。什麼是straneg(或不)我不能使用$ parent來達到目的。我必須經過:$ scope。$ parent。$ parent path,然後它得到更新。除此之外,它看起來醜陋和奇怪,當我試圖從父視圖更新這個變量時,它不起作用。總結一個效果正在工作,另一個不是。改變之後是另一種方式。我試圖將禁用按鈕封裝到一個對象中,並嘗試進行更改,但這也不起作用。或者,也許我做錯了。請幫助我,因爲我的想法已經枯竭。我究竟做錯了什麼?
UPDATE
我加入指令鑑於各地展示什麼,我想在這裏實現的概念。這是下降,我希望他們是獨立的。因爲如果沒有分隔(或隔離)範圍的指令,則兩個下拉列表將通過更改另一個下拉列表來填充。我想獨立地改變它們。我已經成功實現了整個孤立的範圍。但現在我似乎無法得到禁用按鈕的工作。
我已經試過了,但是這並沒有也有幫助。我發現我也有一個ng-repeat指令。這也是它的範圍,這就是爲什麼我可能需要通過$ scope。$ parent。$ parent。第一個$父母是ng-repeat級別,下一個是我期待的那個,我已經將ng重複移到了direvtive視圖,我會看到我在這樣做時會提出什麼。 –