[英]Trouble initializing a $scope variable with ng-init in my HTML
我想初始化$scope.selectedModel
到model1
與ng-init
。 但是,以下HTML無法實現此目的:
<div class="productImage">
<div class="imageGallery" ng-init="selectedModel='model1'">
<div ng-repeat="mod in pTab" ng-if="modelIsActive(mod)">
<div ng-repeat="img in mod.galleryImages">
<img class="overviewProductImage" ng-src="{{img.image}}" ng-if="productImageIsActive(img, $index)"/>
</div>
</div>
</div>
</div>
這是使用selectedModel的modelIsActive方法:
$scope.modelIsActive = function (tab) {
return tab.model== $scope.selectedModel;
}
最終我會想要使用ng-init="selectedModel= mod.model"
但是當它不起作用時我替換了簡單的字符串'model1'
並發現它仍然沒有將selectedModel
初始化為該字符串。
如何使用ng-init設置$scope.selectedModel
? 或者我應該使用其他東西? 我需要使用$watch
或類似的東西嗎?
如果可以,最好在控制器中初始化selectedModel
,而不是使用ng-init
在HTML中ng-init
:此指令可以具有已執行的行為。
如果你真的需要,你需要至少在你的控制器中定義$scope.selectedModel
然后在ng-init中設置一個值,或者使用一個對象而不是直接一個值,比如
<div ng-init="model.selectedModel = 'model11'">
(但您仍需要在控制器中初始化$scope.model
)
請把你的ng-if放到重復內部:
<div ng-repeat="mod in pTab">
<div ng-repeat="img in mod.galleryImages" ng-if="modelIsActive(mod)">
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.