我试图加载mdDialog设置参数(在这种情况下为产品),加载时(md选择包括)它表示这些字段是必需的,并且在我更改之前不会停止选项。
代码是:
<md-input-container class="md-block" flex-gt-sm style="min-width: 150px;">
<label>Expiration type</label>
<md-select name="expirationType" placeholder="Expiration" ng-model="product.expirationType" ng-required='product.name'>
<md-option value="1">Only Expiry date</md-option>
<md-option value="2">Only Shelflife</md-option>
<md-option value="3">Expiry Date & Shelflife</md-option>
<md-option value="4">Non Expirable</md-option>
</md-select>
<div ng-messages="productForm.expirationType.$error" role="alert">
<div ng-message="required">You must supply a value.</div>
</div>
</md-input-container>
和JS:
function EditDialogController($scope, $mdDialog, $mdToast, $log, $http, manufacturers, product) {
$scope.product = product;
(编辑) 我猜测它与ng-Pristine或ng-dirty属性有关,在另一个类似的情况下,当我通过一个函数更改产品时(通过按钮激活),材料认为元素被更改了,所以它有效。有没有办法在加载mdDialog之后启动一个函数?